ConfigurationError:服务器在127.0.0.1:27017报告线路版本0,但此版本的PyMongo至少需要2(MongoDB 2.6)

时间:2018-01-02 11:43:21

标签: python mongodb flask

我正在尝试使用mongoDB和Python Flask构建应用程序。在运行应用程序时,我收到以下错误:

  

ConfigurationError:服务器在127.0.0.1:27017报告线路版本0,   但是这个版本的PyMongo需要至少2个(MongoDB 2.6)。

任何人都能帮助我吗?

谢谢, Balwinder

5 个答案:

答案 0 :(得分:8)

这是一个非常烦人和奇怪的问题。

但是,只需为我降级 pymongo 库即可解决此问题。

pip install pymongo==3.4.0

找到答案:http://d-prototype.com/archives/10939

答案 1 :(得分:4)

首先从ubuntu软件中心更改服务器,然后按照步骤

1-搜索软件&在ubuntu软件中心更新

2-选择Download from选择Other,然后右侧选择Select best server如果完成则需要一些时间 enter image description here

尝试从此命令重新安装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)

这对我有用:

  1. sudo pip3 uninstall pymongo

  2. 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)')