Из qgis.core импорт QgsFeature, QgsGeometry. Ошибка загрузки DLL
Я недавно установил QGIS и хочу импортировать модуль qgis из Python. Я использую Windows 7 x64 и QGIS 2.2 x64. Я установил путь:
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\mapnik-v2.2.0\lib;C:\mapnik-v2.2.0\bin;C:\Program Files (x86)\QGIS Valmiera\apps\qgis\python;C:\OSGeo4W\bin;E:\Python\GeoDjango\myplanet;E:\Python\GeoDjango\myplanet;C:\Program Files (x86)\QGIS Valmiera\bin;C:\Program Files (x86)\QGIS Valmiera\apps\msys\bin;C:\Program Files (x86)\QGIS Valmiera\apps\Python27;C:\Program Files (x86)\QGIS Valmiera\bin;C:\Program Files (x86)\QGIS Valmiera\apps\qgis\python\qgis;
и PYTHONPATH для:
C:\mapnik-v2.2.0\python\2.7\site-packages;E:\Python\GeoDjango\myplanet;C:\Program Files\QGIS Valmiera\apps\qgis\python;C:\Program Files\QGIS Valmiera\apps\Python27\lib;C:\Program Files\QGIS Valmiera\apps\Python27\Lib\site-packages;C:\Program Files\QGIS Valmiera\apps\Python27\DLLs;
Я все еще получаю эту ошибку:
import qgis
File "C:\Program Files\QGIS Valmiera\apps\qgis\python\qgis\__init__.py", line 35, in <module>
from qgis.core import QgsFeature, QgsGeometry
ImportError: DLL load failed: The specified module could not be found.
Я использовал Dependency Walker для отслеживания проблем с загрузкой DLL. это скриншот Dependency Walker:
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
Как я могу исправить ошибки?
3 ответа
Смотрите здесь: Ошибка загрузки DLL с PyQGIS
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
Теперь я использую pycharm в качестве своей IDE, мое решение - просто установить "python-qgis.bat" в качестве интерпретатора python, путь к файлу.bat - "~\qgis\bin". проверив этот файл bat, вы обнаружите, что все пути были заданы в этом файле.bat. надеюсь, что это может помочь вам.
Я новичок в Python (и Qgis), но я прочитал в руководстве, что qgis.core не в DLL. Первая часть "qgis" является каталогом, а вторая часть - файлом "core.pyd". Вы добавляете в свою переменную PYTHONPATH каталог, где находится qgis (dir). для меня это: PHYTONPATH="C:\Program Files\QGIS Valmiera\apps\qgis\python" Я надеюсь, что я помог!