我尝试导入QGIS应用程序随附的名为“处理”的程序包。在QGIS内的Python控制台中导入该包是没有问题的。我也设法找到它:
>>>import processing
>>>processing.__file__
'C:/PROGRA~1/QGISES~1/apps/qgis/./python/plugins\\processing\\__init__.py'
但是我的目标是将该软件包导入在QGIS App外部运行的独立Python脚本中。我已经找到了一个示例,并且根据我尝试过的示例(仅代码摘要):
sys.path.append('C:\\Program files\\QGIS Essen\\apps\\qgis\\python\\plugins\\processing')
from processing.core.Processing import Processing
Processing.initialize()
import Processing
该子目录\processing\core
存在,并且该目录中也包含该Processing.py
文件。一切似乎还好。
print sys.path
给我(以及许多其他东西):
['C:\\Program files\\QGIS Essen\\apps\\qgis\\python\\plugins\\processing']
但是,当我运行脚本时,会收到一条错误消息,告诉我:
ImportError:没有名为processing.core.Processing的模块
为什么找不到该软件包或模块?调用语法或路径中可能有错误?
您进入的目录太深了。from processing.core.Processing import Processing
将导致python在sys.path
目录中查找称为“处理”的内容"'C:\\Program files\\QGIS Essen\\apps\\qgis\\python\\plugins\\processing\\processing"
。
而是做
sys.path.append('C:\\Program files\\QGIS Essen\\apps\\qgis\\python\\plugins')
请注意,这将使所有模块plugins
可见。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句