1

pymongo==3.0.3viaにアップグレードしたところ、次のものpip install --upgrade pymongoが殺到しましたImportError

In [2]: pymongo.version
Out[2]: '3.0.3'

In [3]: from pymongo import Connection
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-3-dd44bc3249d3> in <module>()
----> 1 from pymongo import Connection

ImportError: cannot import name Connection

In [4]: from pymongo import connection
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-4-71c9e4ec1bcd> in <module>()
----> 1 from pymongo import connection

ImportError: cannot import name connection

In [5]: import pymongo.connection.Connection
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-5-282b89157c85> in <module>()
----> 1 import pymongo.connection.Connection

ImportError: No module named connection.Connection
4

3 に答える 3

1

Pymongo 3.0 変更ログによると-

MongoClient の変更

MongoClient は、スタンドアロン サーバー、mongos、またはレプリカ セットの唯一のクライアント クラスになりました。これには、MongoReplicaSetClient に分割されていた機能が含まれています。レプリカ セットに接続し、そのすべてのメンバーを検出し、セットのステップダウン、選択、および再構成を監視できます。MongoClient は、完全な ReadPreference API もサポートするようになりました。

廃止されたクラス MasterSlaveConnection、Connection、および ReplicaSetConnection が削除されました。

Connection クラスが pymonge 3.0 から削除されていることがわかるように、代わりに MongoClient を使用してみてください。mongoclient に関する情報はこちら

于 2015-07-06T08:33:19.663 に答える
0

おそらく、このようなことを行うことで、コードで両方のバージョンをサポートできます。

try:
    from pymongo.connection import Connection
except ImportError as e:
    from pymongo import MongoClient as Connection
于 2016-03-17T09:18:01.660 に答える