【问题标题】:No module named sip when running QGIS from Python从 Python 运行 QGIS 时没有名为 sip 的模块
【发布时间】:2015-07-12 08:12:56
【问题描述】:

我安装了 QGIS Valmiera 2.2.0 并使用此 documentation 启动了一个简单的 python 脚本。

我很难过,因为总是在我使用的时候

from qgis.core import *

我收到了ImportError: No module named qgis.core 的消息。我用声明解决了这个问题

sys.path.extend([r"C:\Program Files (x86)\QGIS Valmiera\apps\qgis\python"])

使用正确的 python 路径。然后我希望它可以工作,但我遇到了下一条错误消息:

ImportError: No module named sip

我尝试再次做同样的事情,添加 qgis 的子文件夹,它可能连接到 sip,但没有成功。

sys.path.extend([r"C:\Program Files (x86)\QGIS Valmiera\apps\Python27",
                 r"C:\Program Files (x86)\QGIS Valmiera\apps\Qt4",
                 r"C:\Program Files (x86)\QGIS Valmiera\apps\Python27\sip",
                 r"C:\Program Files (x86)\QGIS Valmiera\apps\Python27\sip\PyQt4",
                 r"C:\Users\Downloads\sip-4.16.7\sip-4.16.7"])

我猜它正在寻找的 sip.exe 实际上位于C:\Program Files (x86)\QGIS Valmiera\apps\Python27 路径中。

预装的功能中是否缺少任何东西或可能是什么问题?

感谢任何提示!

更新: 对于任何有兴趣的人:我执行了以下步骤来安装 sip 库,但到目前为止还没有最终成功:

【问题讨论】:

  • 为什么要手动安装模块?为什么不使用 easy_install 或 pip(使用 pip)?
  • @Marcin 如您所见,我正在尝试完成设置。我的目标不是手动安装,也没有这样做。到目前为止,我刚刚执行了手册中的内容并尝试查找 sip 模块依赖项。
  • @Marcin 谢谢,我让它运行点子,使用这个tutorial。当我尝试像这样安装 sip 时:pip install --allow-external "sip>=4.16",我收到错误 You must give at least one requirement to install。你看,如果我的命令不正确?
  • 只要pip install SIP。 SIP 位于 pypi:pypi.python.org/pypi/SIP/4.16.7
  • 我只是尝试安装它。我认为问题可能在于这个软件是一块粪土。考虑是否可以使用其他东西。

标签: python qgis python-sip


【解决方案1】:

感谢对我的问题 here 的回答,现在可以正常工作了。

实际上,sip 库似乎真的包含了QGIS 发行版,但要在那里运行脚本,不仅需要正确设置PATHPYTHONPATH,还需要调用o4w_env.bat,否则找不到。

因此可以使用答案中的 bat 脚本来设置所有内容,然后调用 python 脚本,然后就可以使用sip 和所有内容。

【讨论】:

    猜你喜欢
    • 2017-04-12
    • 2012-02-13
    • 2019-07-31
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    相关资源
    最近更新 更多