importterror:没有名为qgis的模块.核心ubuntu 16.04 python 2.7 qgis 2.16



我在python中尝试从脚本调用qgis时一直得到这个错误。

代码是:

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

我读了SO上关于这个的每一篇文章;擦除QGIS并重新安装。将我的PYTHON_PATH和QGIS_PREFIX变量重置到正确的目录。我还通过dpkg -l | grep qgis检查了依赖项,我所有的依赖项都是xenial版本。

还有其他建议吗?

我有同样的问题,但它是在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=/qgis/share/qgis/python
Windows: set PYTHONPATH=c:qgispathpython

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上的: 路径= C: qgispath; %路径%

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

要求用户在安装应用程序之前在其平台上安装QGIS。应用程序安装程序应该查找QGIS库的默认位置,如果没有找到,则允许用户设置路径。这种方法的优点是更简单,但是它需要用户执行更多的步骤。将QGIS与您的应用程序一起打包。发布应用程序可能更具挑战性,软件包也会更大,但用户将从下载和安装其他软件的负担中解脱出来。这两种部署模型可以混合使用——在Windows和Mac OS X上部署独立的应用程序,对于Linux,将QGIS的安装留给用户和他的包管理器。

终于修好了。必须完全擦除和重新安装QGIS两次,并单独删除python-qgis。还必须卸载anaconda。在第二次安装QGIS之后,我已经让它工作了。

最新更新