我有一個純 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
提交
取消
