从C++/Qt程序在Windows中运行Anaconda脚本

2024-04-25 07:26:03 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,奇怪的事。这在Linux中工作得非常好,但我无法让它在Windows中工作。问题可能是这些天我不常在Windows下工作

我有一个Python脚本,我想从C++/Qt程序运行它。因此,我安装了Anaconda,并在“Anaconda提示符”中通过pip安装了包含脚本的包。我已经获得了Python脚本的完整路径(定义为包的setup.py中的一个入口点,因此它实际上是一个exe文件),并尝试按如下方式启动它:

proc = new QProcess(this);
connect(proc, &QProcess::readyReadStandardError, this, &MainWindow::receivedText);
connect(proc, &QProcess::readyReadStandardOutput, this, &MainWindow::receivedText);
proc->start(python_script, arguments);

其中python_脚本和参数是python脚本及其参数的完整路径。当我从“Anaconda提示符”运行这个程序时,它工作正常,但是从我的Qt程序中,我得到一个“NumPy not installed”错误,尽管它肯定已安装。可能是我必须先运行“conda activate”吗?对不起,我不太熟悉Anaconda,只在Windows中使用它。。。我该怎么做? 谢谢


Tags: 路径程序脚本参数linuxwindowsconnectanaconda
3条回答

你能用你的代码打开dos提示符shell吗?如果是这样,您可以让anaconda在该外壳内启动,然后运行conda激活命令,等等

尝试此命令以查看这是否是一个选项,您可能需要更改miniconda3的路径,具体取决于您正在使用的anaconda应用程序:

%windir%\System32\cmd.exe "/K" C:\Users\user\miniconda3\Scripts\activate.bat C:\Users\user\miniconda3

找到了一个有效的方法:我可以通过Python解释器以“Python.exe script.exe arguments”的形式运行脚本,而不是直接以“script.exe arguments”的形式调用脚本,这似乎工作得很好

我在切换服务器时一直遇到同样的问题,因此发布了一个始终适用于我的解决方案:

conda install -c conda-forge implicit

相关问题 更多 >