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



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

我有一个Python脚本,我想从C++/Qt程序运行。所以我安装了 Anaconda,并在"Anaconda 提示符"中,我通过 pip 安装了包含脚本的软件包。我已经获得了 Python 脚本的完整路径(定义为包 setup.py 中的entry_point,因此它实际上是一个 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_script和参数是 python 脚本及其参数的完整路径。当我从"Anaconda 提示符"运行它时,它工作正常,但是从我的Qt程序中,我收到"未安装NumPy"错误,尽管它肯定已安装。难道我必须先以某种方式运行"conda 激活"吗?抱歉,我对 Anaconda 不太熟悉,只在 Windows 中使用它......我该怎么做? 谢谢!

你能从你的代码中打开一个dos提示符shell吗?如果是这样,你可以让 anaconda 在该 shell 中启动,然后运行你的 conda 激活命令等。

尝试此命令以查看这是否是一个选项,您可能需要根据您使用的 anaconda 应用程序更改 miniconda3 的路径:

%windir%System32cmd.exe "/K" C:Usersuserminiconda3Scriptsactivate.bat C:Usersuserminiconda3

找到了一个有效的方法:我可以通过 Python 解释器将其作为"python.exe script.exe arguments"运行,而不是直接调用脚本作为"script.exe arguments",这似乎很好用。

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

conda install -c conda-forge implicit

最新更新