从 Anaconda 的 Spyder 中控制 QGIS。
我设置PAYTHONPATH为C:\Program Files\QGIS Pisa\apps\qgis\bin,但导入模块时仍然出现此错误qgis.core:
import qgis.core
Run Code Online (Sandbox Code Playgroud)
ImportError: No module named qgis.core
Run Code Online (Sandbox Code Playgroud)
如何导入模块?
小智 5
j08lue 提供的答案对我有用。但我们也可以在 Anaconda 虚拟环境中以特定的环境范围方式执行此操作。因此,请尝试以下步骤:
使用 创建 conda 环境conda create -n conda-qgis,然后使用 激活这个新环境conda activate conda-qgis。
在当前环境中使用 .conda-forge 安装 QGIS conda install -c conda-forge qgis。
通过运行打开 QGIS qgis。
使用 QGIS GUI 中的 Python 控制台,然后运行:
import sys
sys.path
Run Code Online (Sandbox Code Playgroud)
你可能会得到如下系统路径:
'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'
Run Code Online (Sandbox Code Playgroud)
复制上面的所有路径并返回命令提示符并运行:
conda-develop PASTEHERE -n conda-qgis
Run Code Online (Sandbox Code Playgroud)
这将在 site-package 目录中创建一个 conda.pth 文件,该文件存储为此 conda-qgis 环境指定的所有环境路径变量。
最后,您应该能够import qgis在 Anaconda 环境中使用。