从Anaconda的Spyder中控制QGIS。
我将PAYTHONPATH
设置为C:\Program Files\QGIS Pisa\apps\qgis\bin
,但导入qgis.core
模块时仍会出现此错误:
import qgis.core
ImportError: No module named qgis.core
如何导入模块?
答案 0 :(得分:2)
QGIS附带的Python软件包位于\path\to\QGIS\apps\Python27\Lib
。因此,您需要将其添加到PYTHONPATH
,而不是...\qgis\bin
。
最好在基于脚本的基础上执行此操作,而不是在系统范围内执行此操作,如下所示:
import sys
sys.path.append("C:\Program Files\QGIS Pisa\apps\Python27\Lib")
import qgis.core
但请注意,QGIS Python软件包可能是为不同版本的Python构建的。所以情况可能不顺利。
注意:QGIS Python插件安装在此处~\.qgis2\python\plugins
,因此您可能也需要sys.path.append
。
答案 1 :(得分:1)
j08lue 提供的答案对我有用。但我们也可以在 Anaconda 虚拟环境中以特定环境范围的方式执行此操作。因此,请尝试以下步骤:
使用 conda create -n conda-qgis
创建 conda 环境,然后使用 conda activate conda-qgis
激活这个新环境。
使用 conda install -c conda-forge qgis
在当前环境中通过 conda-forge 安装 QGIS。
通过运行 qgis
打开 QGIS。
在 QGIS GUI 中使用 Python 控制台,然后运行:
import sys
sys.path
你可能会得到如下系统路径:
'C:/Anaconda3/envs/conda-qgis/Library/./python', 'C:/Users/Guohan/AppData/Roaming/QGIS/QGIS3\\profiles\\default/python', 'C:/Users/Guohan/AppData/Roaming/QGIS/QGIS3\\profiles\\default/python/plugins', 'C:/Anaconda3/envs/conda-qgis/Library/./python/plugins', 'C:\\Anaconda3\\envs\\conda-qgis\\Library\\python', 'C:\\Anaconda3\\envs\\conda-qgis\\Library\\python\\plugins', 'C:\\', 'C:\\Anaconda3\\envs\\conda-qgis\\python39.zip', 'C:\\Anaconda3\\envs\\conda-qgis\\DLLs', 'C:\\Anaconda3\\envs\\conda-qgis\\lib', 'C:\\Anaconda3\\envs\\conda-qgis\\Library\\bin', 'C:\\Anaconda3\\envs\\conda-qgis', 'C:\\Anaconda3\\envs\\conda-qgis\\lib\\site-packages', 'C:\\Anaconda3\\envs\\conda-qgis\\lib\\site-packages\\win32', 'C:\\Anaconda3\\envs\\conda-qgis\\lib\\site-packages\\win32\\lib', 'C:\\Anaconda3\\envs\\conda-qgis\\lib\\site-packages\\Pythonwin', 'C:/Users/Guohan/AppData/Roaming/QGIS/QGIS3\\profiles\\default/python'
复制上面的所有路径并返回命令提示符并运行:
conda-develop PASTEHERE -n conda-qgis
这将在 site-package 目录中创建一个 conda.pth 文件,该文件存储为此 conda-qgis 环境指定的所有环境路径变量。
最后,您应该能够在 Anaconda 环境中使用 import qgis
。