百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

通过Power BI Desktop调用Python的正确姿势 (基于Anaconda)

itomcoil 2025-02-15 15:55 14 浏览

前言

最近一直在尝试通过各种方法生成Calendar Table,如通过Python Pandas生成日历表,和通过PostgreSQL生成日历表等。

本来这篇文章的目的是打算通过 #powerbi#来演示一下如何通过Power Query来生成日历表,但是转头一想,Power BI是支持Python的,我为何不先尝试一下调用Python脚本呢?结果一路走下去,一路坑...

相信与我一样遇到类似问题的小朋友也不在少数,有些可能通过安装独立的Python环境,再通过pip 安装了Pandas和Numpy解决了类似问题,这篇文章的重点是:通过Power BI Desktop调用基于Anaconda的Python环境,省略了独立安装Python环境的困扰,可以让各位少走一些弯路,下面介绍一下具体步骤。

解决步骤

环境准备

  • 先搭建一个虚拟环境,我使用的是Windows Server 2016;
  • 准备好Power BI Desktop和Anaconda的安装包,如下图所示;
  • 安装Power BI Desktop,一路点下去,按默认设置即可
  • 安装Anaconda

Anaconda3 2021.11版本使用了Python3.9,请注意在图2高级设置中,选择第二项,环境变量我们稍后手动添加。

先验证一下Python环境是否工作,详细代码请参考通过Python Pandas创建日历表

如下所示,已经成功得到df数据集合。

打开Power BI Desktop,选择“Options and setting”,再次选择“Options”。

确认Anaconda的环境已经被PBI检测到

路径是:

C:\ProgramData\Anaconda3

接下来,尝试通过Python脚本获取df数据:

数据源选项中选择“Other” -> “Python scripts” -> “Connect”

第一次报错

输入Python脚本,弹出错误提示对话框:

报错中的信息如下,看样子是加载Numpy的时候有误,Power BI Desktop并没有识别出来Numpy环境。

ImportError: Unable to import required dependencies:

numpy: 

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for

many reasons, often due to issues with your setup or how NumPy was

installed.

第二次报错

我们通过cmd命令行进入Anaconda的安装路径,尝试运行Python,导入Numpy的时候得到了与PBI提示一致的错误,警示信息中已经告诉我们:Anaconda的环境并没有被激活。

尝试通过conda命令进行激活,cmd中提示无法识别conda命令,这时候我们需要将Anaconda的安装路径添加到系统的环境变量中。

进入系统变量

添加Anaconda安装路径以及相关文件夹到系统变量的Path变量中,如下图所示:

Anaconda需要添加的路径如下

C:\ProgramData\Anaconda3
C:\ProgramData\Anaconda3\Scripts
C:\ProgramData\Anaconda3\bin

下面再次尝试使用conda命令,当使用activate命令的时候,提示需要首先初始化cmd.exe环境,按部就班进行初始化。注意,我同时初始化了powershell,以免后期使用。

conda init cmd.exe
conda init powershell

再次尝试激活conda的base环境,并创建Numpy的array变量。

关键步骤

这时候,关键的步骤来了,我们一定要切记,通过已经激活的conda环境,来启动Power BI Desktop应用程序

成功得到Python脚本中的df数据,即我们前面已经得到的Calendar日历表数据。

数据经过PBI的加载已经可以在Vis中进行使用。

更加优雅的启动

我们已经可以通过PBI运行基于Anaconda的Python脚本了,可是每次都要打开CMD进行执行,是不是有点繁琐?我尝试编写了两个脚本,可以直接执行,如下所示:

  • BAT脚本
@echo off

start cmd /c "conda activate && "C:\Program Files\Microsoft Power BI Desktop\bin\PBIDesktop.exe""
  • Powershell脚本

Powershell脚本在第一次执行的时候会有提示,请选择输入“A”即All,运行下面脚本;

"conda activate"; &"C:\Program Files\Microsoft Power BI Desktop\bin\PBIDesktop.exe"

这样就可以一次性打开Power BI Desktop的程序了,并且直接调用Python脚本也不会有任何错误提示。

总结

今天花了点时间研究了一下通过Power BI Desktop集成Anaconda Python环境,并调用相关脚本的方法,其中几个点值得回味:

  1. Power BI Desktop会自动检测当前系统中的Python环境,如果各位有独立安装Python程序,并且已经通过pip命令安装了Pandas、Numpy包之后,应该不会碰到类似的错误。
  2. Anaconda Python的环境,其实是一种虚拟环境,在使用之前,需要对当前的虚拟环境进行activate。base是Anaconda安装后默认生成的虚拟环境。
  3. PBI调用基于Anaconda的Python环境,需要在激活base之后,直接调用其应用程序文件进行启动。
  4. 尝试通过BAT以及Powershell脚本同时激活base环境,并启动PBI。

如果您觉得这篇小软文为你提供了帮助,还请帮忙 点赞 + 关注 + 转发 ~,您的鼓励是我持续前进的动力!

相关推荐

Python Qt GUI设计:将UI文件转换Python文件三种妙招(基础篇—2)

在开始本文之前提醒各位朋友,Python记得安装PyQt5库文件,Python语言功能很强,但是Python自带的GUI开发库Tkinter功能很弱,难以开发出专业的GUI。好在Python语言的开放...

Connect 2.0来了,还有Nuke和Maya新集成

ftrackConnect2.0现在可以下载了--重新设计的桌面应用程序,使用户能够将ftrackStudio与创意应用程序集成,发布资产等。这个新版本的发布中还有两个Nuke和Maya新集成,...

Magicgui:不会GUI编程也能轻松构建Python GUI应用

什么是MagicguiMagicgui是一个Python库,它允许开发者仅凭简单的类型注解就能快速构建图形用户界面(GUI)应用程序。这个库基于Napari项目,利用了Python的强大类型系统,使得...

Python入坑系列:桌面GUI开发之Pyside6

阅读本章之后,你可以掌握这些内容:Pyside6的SignalsandSlots、Envents的作用,如何使用?PySide6的Window、DialogsandAlerts、Widgets...

Python入坑系列-一起认识Pyside6 designer可拖拽桌面GUI

通过本文章,你可以了解一下内容:如何安装和使用Pyside6designerdesigner有哪些的特性通过designer如何转成python代码以前以为Pyside6designer需要在下载...

pyside2的基础界面(pyside2显示图片)

今天我们来学习pyside2的基础界面没有安装过pyside2的小伙伴可以看主页代码效果...

Python GUI开发:打包PySide2应用(python 打包pyc)

之前的文章我们介绍了怎么使用PySide2来开发一个简单PythonGUI应用。这次我们来将上次完成的代码打包。我们使用pyinstaller。注意,pyinstaller默认会将所有安装的pack...

使用PySide2做窗体,到底是怎么个事?看这个能不能搞懂

PySide2是Qt框架的Python绑定,允许你使用Python创建功能强大的跨平台GUI应用程序。PySide2的基本使用方法:安装PySide2pipinstallPy...

pycharm中conda解释器无法配置(pycharm安装的解释器不能用)

之前用的好好的pycharm正常配置解释器突然不能用了?可以显示有这个环境然后确认后可以conda正在配置解释器,但是进度条结束后还是不成功!!试过了pycharm重启,pycharm重装,anaco...

Conda使用指南:从基础操作到Llama-Factory大模型微调环境搭建

Conda虚拟环境在Linux下的全面使用指南:从基础操作到Llama-Factory大模型微调环境搭建在当今的AI开发与数据分析领域,conda虚拟环境已成为Linux系统下管理项目依赖的标配工具。...

Python操作系统资源管理与监控(python调用资源管理器)

在现代计算环境中,对操作系统资源的有效管理和监控是确保应用程序性能和系统稳定性的关键。Python凭借其丰富的标准库和第三方扩展,提供了强大的工具来实现这一目标。本文将探讨Python在操作系统资源管...

本地部署开源版Manus+DeepSeek创建自己的AI智能体

1、下载安装Anaconda,设置conda环境变量,并使用conda创建python3.12虚拟环境。2、从OpenManus仓库下载代码,并安装需要的依赖。3、使用Ollama加载本地DeepSe...

一文教会你,搭建AI模型训练与微调环境,包学会的!

一、硬件要求显卡配置:需要Nvidia显卡,至少配备8G显存,且专用显存与共享显存之和需大于20G。二、环境搭建步骤1.设置文件存储路径非系统盘存储:建议将非安装版的环境文件均存放在非系统盘(如E盘...

使用scikit-learn为PyTorch 模型进行超参数网格搜索

scikit-learn是Python中最好的机器学习库,而PyTorch又为我们构建模型提供了方便的操作,能否将它们的优点整合起来呢?在本文中,我们将介绍如何使用scikit-learn中的网格搜...

如何Keras自动编码器给极端罕见事件分类

全文共7940字,预计学习时长30分钟或更长本文将以一家造纸厂的生产为例,介绍如何使用自动编码器构建罕见事件分类器。现实生活中罕见事件的数据集:背景1.什么是极端罕见事件?在罕见事件问题中,数据集是...