web-dev-qa-db-ja.com

ConfigurationError:127.0.0.1:27017のサーバーはワイヤバージョン0を報告しますが、このバージョンのPyMongoには少なくとも2が必要です(MongoDB 2.6)

MongoDBとPython Flaskを使用してアプリケーションをビルドしようとしています。アプリケーションの実行中に、以下のエラーが発生しています。

ConfigurationError:127.0.0.1:27017のサーバーはワイヤバージョン0を報告しますが、このバージョンのPyMongoには少なくとも2(MongoDB 2.6)が必要です。

誰でもこれで私を助けることができますか?

おかげで、バルウィンダー

6
Balwinder Singh

まず、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
4
aasifghanchi

かなり面倒で奇妙な問題です。

しかし、この問題は、pymongoライブラリをダウングレードするだけで解決します。

pip install pymongo==3.4.0

これで答えが見つかりました: http://d-prototype.com/archives/10939

10
Erçin Akçay

Raspberry Pi 3でバージョン2.4.10を使用すると、同じ問題が発生します。ここで興味深い情報を見つけました。 https://jira.mongodb.org/browse/SERVER-26715

上記のJiraタスクによると、これはバージョン3.4で修正されたMongoDBのバグのようです。しかし、 そのコメント は、32ビットOSであるRaspbianでは3.4がサポートされていないことを示しています。 これはここで確認されます ...どうやらRaspbianに3.2しかインストールできないようです。

別の方法として、64ビットSuSEをPiにインストールするか、DockerでMongoDB 3.4を実行します。

他に何か見つけたら教えてください...

3

これは私のために働く:

  1. Sudo pip3 uninstall pymongo

  2. Sudo apt-get install python3-pymongo

よろしくお願いします。

1
K1ltr0

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)') 
0
7wick