1

由于我之前的问题已经结束,我正在努力改进它,让社区了解它可能对广大用户有用。我找到了一个 SHELL LAUNCHER,它允许以“传统方式”绕过系统环境设置来集成 python 和 QGIS(即使用 PyQGIS)。原始版本完美运行(在http://inasafe.linfiniti.com/html/id/developer-docs/platform_windows.html找到它)。我一直在尝试修改它以让任何人使用他自己喜欢的 IDE(而不是像原来的那样使用 Windows 命令提示符)。因此,我进行了修改并最终使用了这个命令启动器:

@echo off
SET OSGEO4W_ROOT=C:\QUANTU~1
call "%OSGEO4W_ROOT%"\bin\o4w_env.bat
call "%OSGEO4W_ROOT%"\apps\Python27\Lib\idlelib\idle.pyw # this is the IDE I wanna use, but You can freely point to whatever You'd like
@echo off
SET GDAL_DRIVER_PATH=%IDLE%\bin\gdalplugins\1.9
path %PATH%;%OSGEO4W_ROOT%\apps\qgis\bin
path %PATH%;%OSGEO4W_ROOT%\apps\grass\grass-6.4.2\lib
path %PATH%;"%OSGEO4W_ROOT%\apps\Python27\Scripts\"

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

start "Quantum GIS Shell" /B "cmd.exe" %*

无论如何,当我运行它时,它会打开 idle.pyw 但我无法导入模块,就像系统变量仍然没有正确设置一样,尽管它们似乎是通过调查 sys.path 来实现的。导入(例如)“qgis.core”模块时出现的错误是:

ImportError: DLL load failed: Impossibile trovare il modulo specificato # (impossible to import the specified module)

我的操作系统是 Windows XP sp3,Python 是 2.7.3,QGIS 是 Lisboa v.1.8。我希望有人可以帮助我,这可能有助于解决导入 PyQGIS 模块的常见问题。

4

2 回答 2

1

最终我设法拥有了个人 shell 发射器!诀窍是调查o4w_env.bat文件,以了解第二行的“调用”实际上做了什么。

所以我尝试并成功了:

  1. idle.pyw(或您要使用的 IDE)复制到Quantum GIS主文件夹(在我的情况下是C:/Quantum_GIS_Lisboa

  2. 复制 SHELL LAUNCHER(见第 3 点),扩展名为.bat“\bin”

  3. 运行这个 SHELL LAUNCHER(简单的双击):

    @echo off
    
    SET OSGEO4W_ROOT=C:\QUANTU~1
    
    call "%OSGEO4W_ROOT%"\bin\o4w_env.bat
    
    @echo off
    
    SET GDAL_DRIVER_PATH=%IDLE%\bin\gdalplugins\1.9
    path %PATH%;%OSGEO4W_ROOT%\apps\qgis\bin
    path %PATH%;%OSGEO4W_ROOT%\apps\grass\grass-6.4.2\lib
    path %PATH%;"%OSGEO4W_ROOT%\apps\Python27\Scripts\"
    
    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
    
    start "Quantum GIS Shell" /B "idle.pyw" %* # This is where you specify the IDE 
    # you want to use, mine is "idle.pyw", but if You copy another one (as in point 1), 
    # you should replace "idle.pyw" with "<YOUR_IDE>"
    

希望这可以帮助任何人。干杯!

于 2013-03-08T16:23:39.213 回答
-1

运行 Qgis 并打开 python 控制台输入以下内容

  1. 导入系统
  2. 系统路径

    现在复制此路径并在顶部包含 python 代码的 sys 路径。

现在运行该代码。

于 2017-03-08T04:50:49.943 回答