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?
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
.
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
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
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
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.
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.
# 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
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
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).