在一个脚本中运行两个版本的Python。可能?

问题描述 投票:0回答:2

我有一个纯Python 3.7.3和另一个附带QGIS软件包的Python 3.7.0。

我将默认Python设置为3.7.0,并且需要在3.7.3中使用一些函数和模块。

我可以将我的默认环境设置为3.7.3,但在这种情况下,我无法访问qgis.core lib。在3.7.0我需要执行from PyQt5 import QtWidgets但在这里抛出错误的dll。重新安装pyqt5将损害qgis并完全删除它。

所以我看到我需要从3.7.0运行脚本,Qt函数在纯3.7.3中运行。但是我怎么能把我的脚本放进去。我试图测试virtualenv,但看起来它不想设置临时环境。

python python-3.x virtualenv
2个回答
0
投票

我相信你应该处理这些问题并避免使用2种不同的Python环境。但你可以用pyenv实现这一目标。

假设3.7.0是您的系统Python版本。首先,安装pyenv和3.7.3环境:

$ pyenv update
$ pyenv install 3.7.3
$ pyenv shell 3.7.3

然后,用pip安装PyQt5和其他要求。

最终,您将能够手动或在脚本中切换到每个已安装的版本。

pyenv还支持虚拟环境。


0
投票

做好了。

在3.7.0脚本中我添加

import sys 
qt_bundle =['~long_path_to_appdata\\Python\\Python37-32\\lib\\site-packages\\'] # list in case I need to add more modules
sys.path+= qt_bundle

在此之后

from PyQt5 import QtCore, QtWidgets

不会抛出任何错误

© www.soinside.com 2019 - 2024. All rights reserved.