微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在 Python 3.9.2 中导入模块 qgis

如何解决无法在 Python 3.9.2 中导入模块 qgis

我正在研究 Python 3.9.2 并得到了这个

错误:没有名为 qgis 的模块

我正在尝试连接到数据库并在其中进行查询。 我已经看到下面的代码在 python 2 下工作。与 Python 3 有什么区别吗?

[...]
from qgis.core import *
import qgis.utils


uri.setConnection('{0}'.format(hote_IP),"5432",'{0}'.format(xxx),'{0}'.format(xxx))    
db = QsqlDatabase.addDatabase("QPsql")    
db.setHostName(uri.host())    
db.setDatabaseName(uri.database())    
db.setPort(int(uri.port()))    
db.setUserName(uri.username())    
db.setPassword(uri.password())

sql = '''select field1,field2 from schema.table'''    
query = db.exec_(sql)
print(str(query.value(0))

解决方法

尝试通过 python 3 重新安装:

python3 -m pip install qgis
,

我在为 python 项目创建虚拟环境然后尝试导入 QGIS 时遇到了同样的问题。在虚拟环境中安装 QGIS 是相当复杂的。我为解决这个问题所做的是创建可以访问 QGIS 安装后所在的系统级站点包的 venv。我使用以下内容:

string

然而,此操作的先决条件是您已正确安装 QGIS 并且可以从您的系统级 python 解释器访问它。我使用 Ubuntu,在 Ubuntu 上正确安装 QGIS 的说明是 here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。