我有一个纯 Python 3.7.3 和另一个 QGIS 软件包附带的 Python 3.7.0。我将默认 Python 设置为 3.7.0,需要让一些函数和模块在 3.7.3 中工作。我可以将默认环境设置为 3.7.3,但在这种情况下,我无法访问qgis.corelib。在 3.7.0 中我需要执行,from PyQt5 import QtWidgets但在这里它抛出和缺少 dll 的错误。重新安装pyqt5会损坏qgis并完全删除它。所以我看到我需要使用在纯 3.7.3 中工作的 Qt 函数从 3.7.0 运行脚本。但是我怎样才能放入我的脚本。我试图测试,virtualenv但看起来它不想设置临时环境。
2 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
做好了。
在 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
不会抛出任何错误
holdtom
TA贡献1805条经验 获得超10个赞
我相信您应该处理这些问题并避免使用 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/150
提交
取消
