ImportError:没有名为qgis.core的模块ubuntu 16.04 python 2.7 qgis 2.16.2

时间:2016-09-02 20:16:18

标签: python ubuntu qgis

我在python中尝试从脚本调用qgis时不断收到此错误。

代码是:

from qgis.core import *
from qgis.analysis import *

我已经阅读了关于此的所有帖子;擦拭QGIS并重新安装。将我的PYTHON_PATH和QGIS_PREFIX变量重置为正确的目录。我还通过dpkg -l | grep qgis检查了依赖项,我的所有依赖项都是xenial版本。

还有其他建议吗?

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,但是在Windows 7中。在http://docs.qgis.org/2.8/en/docs/pyqgis_developer_cookbook/intro.html之后的最后一点叫做运行自定义应用程序。我解决了它。

如果他们不在一个众所周知的位置,你需要告诉你的系统在哪里搜索QGIS库和适当的Python模块 - 否则Python会抱怨:

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

可以通过设置PYTHONPATH环境变量来解决此问题。在以下命令中,qgispath应替换为您的实际QGIS安装路径:

Linux上的

:export PYTHONPATH = / qgispath / share / qgis / python
在Windows上:设置 PYTHONPATH = c:\ qgispath \ python

现在已知PyQGIS模块的路径,但它们依赖于qgis_core和qgis_gui库(Python模块仅用作包装器)。操作系统通常不知道这些库的路径,因此再次出现导入错误(消息可能因系统而异):

>>> import qgis.core
ImportError: libqgis_core.so.1.5.0: cannot open shared object file: No such file or directory

通过添加QGIS库所在的目录来搜索动态链接器的路径来解决此问题:

Linux上的

:export LD_LIBRARY_PATH = / qgispath / lib
在Windows上:设置 PATH = C:\ qgispath;%PATH%

可以将这些命令放入一个负责启动的引导脚本中。使用PyQGIS部署自定义应用程序时,通常有两种可能:

要求用户在安装应用程序之前在其平台上安装QGIS。应用程序安装程序应查找QGIS库的默认位置,并允许用户设置路径(如果未找到)。这种方法具有更简单的优点,但是它需要用户执行更多步骤。 将QGIS与您的应用程序一起打包。释放应用程序可能更具挑战性,并且程序包将更大,但用户将免于下载和安装其他软件的负担。 这两种部署模型可以混合使用 - 在Windows和Mac OS X上部署独立应用程序,对于Linux,将QGIS的安装保留给用户及其包管理器。

答案 1 :(得分:0)

终于搞定了。不得不完全擦除并重新安装QGIS两次并单独删除python-qgis。还得卸载anaconda。在第二次全新安装QGIS之后,我已经开始工作了。

我的配置没有其他更改。