Ошибка загрузки DLL с PyQGIS
Я уже задавал этот вопрос на форуме "gis.stackexchange", но он кажется более подходящим для этого.
У меня проблемы с Python Shell, импортирующим модуль "qgis.core". Когда я набираю "import qgis.core", оболочка ("idle.pyw") выдает мне эту ошибку:
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import qgis.core
ImportError: DLL load failed: Impossibile trovare il modulo specificato (Trad "Impossible to find the specified module").
Я уже настроил среду для указания правильных папок, следуя инструкциям "PyQGIS cookbook". В моем случае пути следующие:
PYTHOPATH = C: \ "QGIS_path" \ Apps \ QGIS \ питона; Path=C:\"QGIS_path"\ приложения \ QGIS \ Bin.
Я что-то пропустил? Какие библиотеки должны быть подходящими для поиска Shell? Я работаю с Windows 7 64 бит, QGIS Lisboa (версия 1.8), Python 2.7.2 (тот, который включен в пакет QGIS).
2 ответа
Я не люблю смешивать мои установки Python, поэтому я добавляю пути на лету.
Пути, которые вам нужны, находятся ниже:
import sys
sys.path.extend([r"C:\Program Files\QGIS Valmiera\apps",r"C:\Program Files\QGIS Valmiera\apps\qgis\bin",r"C:\Program Files\QGIS Valmiera\apps\Python27"])
import qgis.core
Отметьте эту ссылку https://gis.stackexchange.com/questions/337558/import-qgis-core-in-pycharm-no-module-named-pyqt5-qtcore также игнорируйте настройку pycharm, если хотите.
Меня устраивает,
setup-qgispy.bat
@ECHO off
set OSGEO4W_ROOT=C:\QGIS
call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
call "%OSGEO4W_ROOT%\bin\qt5_env.bat"
call "%OSGEO4W_ROOT%\bin\py3_env.bat"
path %OSGEO4W_ROOT%\apps\qgis\bin;%PATH%
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT%\apps\qgis
set GDAL_FILENAME_IS_UTF8=YES
set VSI_CACHE=TRUE
set VSI_CACHE_SIZE=1000000
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins
set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python
set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python37
set PYTHONPATH=%OSGEO4W_ROOT%\apps\Python37\lib\site-packages;%PYTHONPATH%
set QT_QPA_PLATFORM_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\Qt5\plugins\platforms
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT%\apps\qgis
а потом,
C:\> setup-qgispy.bat
C:\> python file.py
Я думаю, что вместо sys.path.extend(). Скопируйте sys.path из консоли Python qgis и используйте его. Надеюсь, это сработает.