我正在尝试使用mongoDB和Python Flask构建应用程序。在运行应用程序时,我收到以下错误:
ConfigurationError:服务器在127.0.0.1:27017报告线路版本0, 但是这个版本的PyMongo需要至少2个(MongoDB 2.6)。
任何人都能帮助我吗?
谢谢, Balwinder
答案 0 :(得分:8)
这是一个非常烦人和奇怪的问题。
但是,只需为我降级 pymongo
库即可解决此问题。
pip install pymongo==3.4.0
答案 1 :(得分:4)
首先从ubuntu软件中心更改服务器,然后按照步骤
1-搜索软件&在ubuntu软件中心更新
2-选择Download from
选择Other
,然后右侧选择Select best server
如果完成则需要一些时间
尝试从此命令重新安装mongodb
第1步
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
第2步
sudo apt-get update
第3步
sudo apt-get install -y mongodb-org
答案 2 :(得分:3)
我在Raspberry Pi 3上使用版本2.4.10遇到同样的问题。我在这里找到了有趣的信息:https://jira.mongodb.org/browse/SERVER-26715
根据上面的Jira任务,似乎这是版本3.4中修复的MongoDB的错误。但是,我发现that comment表示Raspbian不支持3.4,因为它是32位操作系统。 This is confirmed here ...我们现在显然只能在Raspbian上安装3.2。
另一种方法是在Pi上安装64位SuSE或在Docker中运行MongoDB 3.4。
如果你找到别的东西,请告诉我......
答案 3 :(得分:0)
这对我有用:
sudo pip3 uninstall pymongo
sudo apt-get install python3-pymongo
我希望这对别人有用,
答案 4 :(得分:0)
loose_srv_version = LooseVersion(client.server_info()['version'])
loose_driver_version = LooseVersion(PyMongoVersion)
if loose_srv_version >= LooseVersion('3.2') and loose_driver_version <= LooseVersion('3.2'):
module.fail_json(msg=' (Note: you must use pymongo 3.2+ with MongoDB >= 3.2)')
elif loose_srv_version >= LooseVersion('3.0') and loose_driver_version <= LooseVersion('2.8'):
module.fail_json(msg=' (Note: you must use pymongo 2.8+ with MongoDB 3.0)')
elif loose_srv_version >= LooseVersion('2.6') and loose_driver_version <= LooseVersion('2.7'):
module.fail_json(msg=' (Note: you must use pymongo 2.7+ with MongoDB 2.6)')
elif LooseVersion(PyMongoVersion) <= LooseVersion('2.5'):
module.fail_json(msg=' (Note: you must be on mongodb 2.4+ and pymongo 2.5+ to use the roles param)')