Как правильно настроить среду PyQGIS в Windows?

У меня проблемы с конкретной ошибкой, которая довольно распространена из того, что я вижу, но не могу найти решение.

Когда я пытаюсь импортировать модуль qgis, возникает следующая ошибка:

ImportError: No module named 'qgis'

Пока это руководство, которое я использую, и вот настройки для .cmd , я предполагаю, что это как-то связано с этим:

@echo off
SET OSGEO4W_ROOT=D:\OSGeo4W64
call "%OSGEO4W_ROOT%"\bin\o4w_env.bat
call "%OSGEO4W_ROOT%"\apps\grass\grass-6.4.3\etc\env.bat
@echo off
path %PATH%;%OSGEO4W_ROOT%\apps\qgis\bin
path %PATH%;%OSGEO4W_ROOT%\apps\grass\grass-6.4.3\lib

set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\qgis\python;
set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\Python27\Lib\site-packages
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT%\apps\qgis
set PATH=C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.6\bin\pycharm.exe;%PATH%
cd %HOMEPATH%\TER\development
start "PyCharm aware of Quantum GIS" /B "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.6\bin\pycharm.exe" %*

РЕДАКТИРОВАТЬ: после применения предложения luca76

C:\Python34\python.exe D:/TER/development/test.py
Fatal Python error: Py_Initialize: unable to load the file system codec
  File "D:\OSGEO4~1\apps\Python27\lib\encodings\__init__.py", line 123
    raise CodecRegistryError,\
                            ^
SyntaxError: invalid syntax

Процесс завершен с кодом выхода 3

Я предполагаю, что это должно что-то делать с вызовом Python 3.4, а не Python 2.7.

РЕДАКТИРОВАТЬ: Раунд 3

Моя попытка на этот раз включала слегка измененную версию предложения Лукаса.

Что я сделал, так это удалил HOMEPATH, однако на этот раз, когда я пытаюсь импортировать модуль qgis, я получаю трассировку:

Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import qgis.core
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\OSGeo4W64\apps\qgis\python\qgis\__init__.py", line 36, in <module>
    from qgis.core import QgsFeature, QgsGeometry
  File "D:\OSGeo4W64\apps\qgis\python\qgis\core\__init__.py", line 3, in <module
>
    from qgis._core import *
ImportError: DLL load failed: The specified module could not be found.
>>>

person Geosphere    schedule 05.05.2015    source источник


Ответы (1)


Попробуйте поместить переменные среды перед выполнением o4w_env.bat: (не забудьте исправить ВСЕ пути к каталогам!)

@echo off
SET OSGEO4W_ROOT=D:\OSGeo4W64
set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python;%PYTHONPATH%
set PYTHONPATH=%OSGEO4W_ROOT%\apps\Python27\Lib\site-packages;%PYTHONPATH%
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT%\apps\qgis
set PATH=C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.6\bin\pycharm.exe;%PATH%
path %OSGEO4W_ROOT%\apps\qgis\bin;%PATH%
path %OSGEO4W_ROOT%\apps\grass\grass-6.4.3\lib;%PATH%

call "%OSGEO4W_ROOT%"\bin\o4w_env.bat
call "%OSGEO4W_ROOT%"\apps\grass\grass-6.4.3\etc\env.bat

cd %HOMEPATH%\TER\development
start "PyCharm aware of Quantum GIS" /B "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.6\bin\pycharm.exe" %*
person luca76    schedule 06.05.2015
comment
Спасибо @ luca76, он отлично загрузил PyCharm, но не решил проблему, или решил, но только что возникла другая. - person Geosphere; 06.05.2015
comment
Я пробовал другое решение, найденное здесь ссылка. Все работает нормально, по крайней мере, я так считаю, до самого последнего шага, когда я запускаю скрипт python. Я получаю ту же ошибку импорта, что и в исходном состоянии. - person Geosphere; 06.05.2015
comment
По-видимому, слишком много установок Python, а также зависимость от ArcGIS Python делают вещи очень сложными. Вот почему я, вероятно, буду работать над Linux для своего плагина, кажется, что это непреодолимая проблема. - person Geosphere; 06.05.2015
comment
Не могли бы вы попробовать мой модифицированный скрипт в том же ответе? Я изменил порядок переменных среды - person luca76; 07.05.2015
comment
Он даже не загружает PyCharm. В любом случае, спасибо за усилия @luca76. У меня тоже проблемы с Linux, на этот раз с компиляцией файла. - person Geosphere; 11.05.2015