需要 virtenv 时如何运行 QProcess?
Posted
技术标签:
【中文标题】需要 virtenv 时如何运行 QProcess?【英文标题】:How to run QProcess when a virtenv is needed? 【发布时间】:2021-09-09 11:34:04 【问题描述】:如果我只是尝试通过带有“python3”和文件路径的 QProcess 运行我的 python 文件,QProcess 将不会执行。在终端上玩过这个之后,我发现当文件运行时它无法加载在我的虚拟环境中找到的适当模块。如何让 QProcess 执行文件但首先打开虚拟环境?
这不起作用:
loop_process = QProcess()
loop_process.start("python3", ['/home/id/VirtPython/looper_testing_ver5_2.py'])
# Gives the module cannot load error
所以我尝试了这个(我尝试激活我的 virtenv):
loop_process = QProcess()
loop_process.start(". /scratch/id/pipenv/VirtPython-4445xf/bin/activate", ['python3' '/home/id/VirtPython/looper_testing_ver5_2.py'])
它仍然失败,但我不知道错误。
【问题讨论】:
【参考方案1】:你只需要使用 virtualenv python:
loop_process = QProcess()
loop_process.start("/scratch/id/pipenv/VirtPython-4445xf/bin/python3", ['/home/id/VirtPython/looper_testing_ver5_2.py'])
【讨论】:
以上是关于需要 virtenv 时如何运行 QProcess?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 上通过 QProcess 启动提升的子进程?
监控正在运行的 qprocess 并在 qprocess 完成时返回值
linux下QT中如何使用QProcess运行linux命令。