python - 如何在 Windows 上正确设置 PyQGIS 环境?

标签 python import module cmd qgis

我遇到了特定错误的问题,从我所看到的情况来看,这很常见,但似乎找不到解决方案。

当我尝试导入 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 来执行某些操作。

编辑:第三轮

我这次的尝试包括对卢卡斯提案的稍微修改版本。

我所做的是删除 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.
>>>

最佳答案

尝试在执行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" %*

关于python - 如何在 Windows 上正确设置 PyQGIS 环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30063439/

相关文章:

python - 列表中 pandas 系列中的字符串

python - 装饰子类方法

git - 使用历史记录导出 Git 中的子树

python - 在 python 中安装模块 - pip、distribute、nose、virtualenv

html - 自定义 HTML 模块 - 不支持 joomla 3.0

python - YouTube 数据 API

python - 使用 Python SDK 创建 Azure 容器时出现“HTTP header 格式不正确”错误

typescript - 使用 wasm 将模块导入并编译到 webpack 中

php - "Fatal error: Cannot redeclare class"...但是类没有声明

excel - 是否立即声明了电子表格中所有模块中的所有全局变量?