Je ne peux pas importer MongoClient

je suis incapable de faire ceci:

from pymongo import MongoClient

j'obtiens:

>>> import pymongo
>>> from pymongo import MongoClient
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name MongoClient
>>> 

je suis en mesure de import pymongo sans problèmes.

je suis en cours d'exécution mongodb 2.2.3 et Python 2.7.

j'ai aussi essayé ceci:

>>> connection = pymongo.MongoClient()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'MongoClient'
>>> 

Qu'est-ce que je fais de mal?

13
demandé sur l--''''''---------'''''''''''' 2013-07-13 01:38:24

9 réponses

ce paquet est probablement obsolète ou cassé. Exécutez sudo apt-get purge python-pymongo, puis sudo apt-get install python-pip, puis finalement sudo pip install pymongo.

23
répondu Chris 2013-07-12 21:49:00

Selon docs,MongoClient a été introduit dans la version 2.4. Comme vous l'avez installé pymongo de votre dépôt de distribution, il est tout à fait possible que ce ne soit pas la version la plus récente. Essayez de l'installer via PiP (supprimez celui que vous avez installé en premier):

pip install pymongo
4
répondu Esenti 2013-07-12 21:49:28

je voudrais suggérer que plus robuste réponse:

pip show pymongo

maintenant voir où il vous dirige et de là simplement supprimer le répertoire pymongo

rm -rf <the dir where pymongo lay>/pymongo*

Maintenant, vous pouvez installer à nouveau pymongo en toute sécurité:

pip install pymongo
2
répondu hagay 2016-05-04 05:54:59

oui il est vrai que vous avez besoin de mettre à jour l'utilisation, vérifiez la section Mise à jour dit http://api.mongodb.org/python/current/installation.html

   easy_install -U pymongo
1
répondu dbarenas 2013-09-24 17:27:33

Si vous avez utilisé pymongo.Connexion et erreur rencontrée, vous devez savoir qu'après les nouvelles mises à jour, vous devez utiliser pymongo.MongoClient à la place. J'ai eu ce problème donc j'espère que ce sera utile à quelqu'un d'autre.

1
répondu Kevin Zhao 2015-05-13 03:01:39

ce problème peut se produire si vous en avez plusieurs .programmes py dans le répertoire de travail courant. Supprimer résolu mon erreur. Je ne suis pas sûr de la raison.

1
répondu Kavya_D 2016-10-24 06:45:47
# Try it once, into python script run following statement
# try.py

import pymongo

# If above statement didn't throw any exception then you need to install pymongo-2.4, if existing pymongo verion is 2.3

#open terminal
#First you need to uninstall old pymongo version

pip uninstall pymongo

#Then use following commands to install pymongo-2.4

wget http://pypi.python.org/packages/source/p/pymongo/pymongo-2.4.tar.gz
tar xzf pymongo-2.4.tar.gz
cd pymongo-2.4
python setup.py install
0
répondu mistertandon 2015-08-08 22:15:26

j'ai eu le même problème sur ubuntu 16.04 Cela a résolu mon problème:

sudo apt-get install build-essential python-dev

sudo apt-get install python-pip

sudo pip install pymongo

0
répondu Ananda 2017-06-16 09:39:16

si vous aviez nommé votre script pymongo.py, qui masque le module pymongo duquel vous importez.

renommez votre script en quelque chose comme xyz.py (et supprimer le pymongo.pyc fichier s'il a été créé à côté d'elle).

0
répondu krishna kanth 2018-07-13 06:00:34