猿问

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

我有一个纯 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但看起来它不想设置临时环境。


翻过高山走不出你
浏览 178回答 2
2回答

拉丁的传说

做好了。在 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 modulessys.path+= qt_bundle之后这个声明from PyQt5 import QtCore, QtWidgets不会抛出任何错误

holdtom

我相信您应该处理这些问题并避免使用 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还支持虚拟环境。
随时随地看视频慕课网APP

相关分类

Python
我要回答