4 votes

PyMongo import Connection - cause ImportError

J'appelle le simple script suivant pour me connecter à une base de données Mongo via Python.

Il s'agit d'un exemple tiré de la 10gen education course M101 - MongoDB for Developers (en anglais) , et d'après les forums, je ne suis pas la seule personne à avoir ce problème.

import pymongo

from pymongo import Connection
connection = Connection('localhost', 27017)

J'ai installé pymongo avec pip comme décrit ici et tout a bien fonctionné. Maintenant, lorsque j'essaie d'importer la classe Connection, j'obtiens l'erreur suivante :

ImportError: cannot import name Connection

J'ai consulté le fil de discussion suivant jusqu'à présent : pymongo est installé mais l'importation échoue

mais cela ne s'applique pas à mon environnement car j'utilise Python 2.7.1 et je suis sur Mac OS au lieu de CentOS. J'ai également fait quelques recherches sur Google, mais la seule chose que j'ai trouvée jusqu'à présent est de vérifier que PyMongo est correctement installé, ce que j'ai fait et qui revient :

Requirement already satisfied 

Toute aide serait appréciée afin de pouvoir avancer dans le cours. Merci d'avance.

13voto

Bram Points 146

Assurez-vous qu'il n'y a pas de fichiers appelés pymongo.py o pymongo.pyc dans le chemin à partir duquel vous exécutez le script. J'ai nommé mon test script pymongo.py ce qui a amené Python à essayer d'importer Connection à partir de ce même fichier. En le renommant en pymongo-test.py et en supprimant le fichier pymongo.pyc a résolu le problème.

1voto

Raj Damani Points 582

Utiliser :

from flask.ext.pymongo import MongoClient

comme :

from pymongo import Connection

est obsolète.

MongoClient fonctionne presque de la même manière que Connection.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X