将 QGIS 模块导入 Python (Anaconda)

use*_*719 3 python qgis

从 Anaconda 的 Spyder 中控制 QGIS。

我设置PAYTHONPATHC:\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 虚拟环境中以特定的环境范围方式执行此操作。因此,请尝试以下步骤:

  1. 使用 创建 conda 环境conda create -n conda-qgis,然后使用 激活这个新环境conda activate conda-qgis

  2. 在当前环境中使用 .conda-forge 安装 QGIS conda install -c conda-forge qgis

  3. 通过运行打开 QGIS qgis

  4. 使用 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)
  5. 复制上面的所有路径并返回命令提示符并运行:

    conda-develop PASTEHERE -n conda-qgis
    
    Run Code Online (Sandbox Code Playgroud)

    这将在 site-package 目录中创建一个 conda.pth 文件,该文件存储为此 conda-qgis 环境指定的所有环境路径变量。

  6. 最后,您应该能够import qgis在 Anaconda 环境中使用。