我目前正在尝试使用QGIS插件来连接MongoDB,例如MongoConnector和Load MongoDB Layers。但我无法让它发挥作用。
有人使用这些插件还是它们坏了? 这是我在加载 MongoDB Layers 插件时遇到的错误
Couldn't load plugin qgis-mongodb-loader due to an error when calling its classFactory() method
Traceback (most recent call last):
File "C:/PROGRA~1/QGISWI~1/apps/qgis-ltr/./python\qgis\utils.py", line 219, in startPlugin
plugins[packageName] = package.classFactory(iface)
File "C:/Users/nilci_000/.qgis2/python/plugins\qgis-mongodb-loader\__init__.py", line 28, in classFactory
from .loadMongoDB import loadMongoDB
File "C:/PROGRA~1/QGISWI~1/apps/qgis-ltr/./python\qgis\utils.py", line 478, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "C:/Users/nilci_000/.qgis2/python/plugins\qgis-mongodb-loader\loadMongoDB.py", line 16, in
from loadMongoDB_dialog import loadMongoDBDialog
File "C:/PROGRA~1/QGISWI~1/apps/qgis-ltr/./python\qgis\utils.py", line 478, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "C:/Users/nilci_000/.qgis2/python/plugins\qgis-mongodb-loader\loadMongoDB_dialog.py", line 32, in
QMessageBox.critical(iface.mainWindow(),
NameError: name 'iface' is not defined
Python version:
2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)]
这是 MongoConnector 插件
Couldn't load plugin MongoConnector due to an error when calling its classFactory() method
Traceback (most recent call last):
File "C:/PROGRA~1/QGISWI~1/apps/qgis-ltr/./python\qgis\utils.py", line 219, in startPlugin
plugins[packageName] = package.classFactory(iface)
File "C:/Users/nilci_000/.qgis2/python/plugins\MongoConnector\__init__.py", line 26, in classFactory
from MongoConnector.plugin import MongoConnectorPlugin
File "C:/PROGRA~1/QGISWI~1/apps/qgis-ltr/./python\qgis\utils.py", line 478, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "C:/Users/nilci_000/.qgis2/python/plugins\MongoConnector\plugin.py", line 25, in
from connect_action import ConnectAction
File "C:/PROGRA~1/QGISWI~1/apps/qgis-ltr/./python\qgis\utils.py", line 478, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "C:/Users/nilci_000/.qgis2/python/plugins\MongoConnector\connect_action.py", line 29, in
from pymongo import MongoClient
File "C:/PROGRA~1/QGISWI~1/apps/qgis-ltr/./python\qgis\utils.py", line 478, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
ImportError: No module named pymongo
Python version:
2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)]
最好, 尼禄
最佳答案
在安装 MongoConnector 插件之前,请确保您的 Python 中已安装“pymongo”。 Python 和 Mongo 使用它来相互通信。
您可以从他们的 official link 安装它.
Mongo Connector 页面中还提到 pymongo 应该 > 3.0 所以它不适用于 python 2.7 引用:https://plugins.qgis.org/plugins/MongoConnector/
之后尝试再次安装该插件。
关于mongodb - QGIS MongoDB 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34284091/