Je suis incapable de faire ceci:
from pymongo import MongoClient
Je reçois:
>>> import pymongo
>>> from pymongo import MongoClient
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name MongoClient
>>>
Je suis capable 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 mal?
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
.
Selon docs , MongoClient
a été introduit dans la version 2.4. Comme vous avez installé pymongo
à partir de votre référentiel de distribution, il est fort possible que ce ne soit pas la version la plus récente. Essayez de l’installer via PiP (enlevez celui que vous avez déjà installé):
pip install pymongo
Je voudrais suggérer une réponse plus robuste:
pip show pymongo
maintenant, voyez où il vous dirige et à partir de là, supprimez simplement le répertoire pymongo
rm -rf <the dir where pymongo lay>/pymongo*
Maintenant, vous pouvez réinstaller pymongo en toute sécurité:
pip install pymongo
oui c’est vrai que vous devez mettre à jour votre utilisation, consultez la section mise à niveau qui dit http://api.mongodb.org/python/current/installation.html
easy_install -U pymongo
Ce problème peut se produire si vous avez plusieurs programmes .py dans le répertoire de travail en cours. Leur suppression a résolu mon erreur. Je ne suis pas sûr de la raison cependant.
Si vous aviez nommé votre script pymongo.py, qui masque le module pymongo à partir duquel vous importez.
Renommez votre script en quelque chose d'autre comme xyz.py (et supprimez le fichier pymongo.pyc s'il en a été créé un à côté).
Si vous avez utilisé pymongo.Connection et rencontré une erreur, sachez qu'après les nouvelles mises à jour, vous devez utiliser pymongo.MongoClient. J'avais ce problème alors j'espère que cela sera utile à quelqu'un d'autre.
J'ai eu le même problème sur Ubuntu 16.04 Cela a résolu mon problème:
Sudo apt-get installez build-essential python-dev
Sudo apt-get installez python-pip
Sudo pip installer pymongo
# 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