我遇到了一个特定错误的问题,这在我看到的情况下很常见,但似乎无法找到解决方案。
当我尝试导入qgis模块时,会发生以下错误:
ImportError: No module named 'qgis'
到目前为止,这是guide我正在使用的,以及.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轮
这次我的尝试包括略微修改过的Lucas提案。
我所做的是删除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.
>>>
答案 0 :(得分:2)
尝试在执行o4w_env.bat之前放置环境变量:( rembember以修复所有目录路径!)
@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" %*