将QGIS模块导入Python(Anaconda)

时间:2016-02-25 09:04:18

标签: python qgis

从Anaconda的Spyder中控制QGIS。

我将PAYTHONPATH设置为C:\Program Files\QGIS Pisa\apps\qgis\bin,但导入qgis.core模块时仍会出现此错误:

import qgis.core
ImportError: No module named qgis.core

如何导入模块?

2 个答案:

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

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

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

  3. 通过运行 qgis 打开 QGIS。

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

    conda-develop PASTEHERE -n conda-qgis
    

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

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