2013-07-12 16 views
13

Ich bin nicht in der Lage, dies zu tun:kann nicht importiert MongoClient

from pymongo import MongoClient 

ich:

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

ich in der Lage bin zu import pymongo ohne Probleme.

Ich bin mongodb 2.2.3 und Python 2.7 ausgeführt.

Ich habe dies auch versucht:

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

Was mache ich falsch?

+0

Haben Sie von PyPI oder von Git installiert? – Chris

+0

Nein, ich weiß nicht, was das ist –

+1

Haben Sie es installiert mit 'pip install pymongo',' easy_install pymongo', oder indem Sie es herunterladen und 'setup.py install' ausführen? – Chris

Antwort

23

Dieses Paket ist wahrscheinlich veraltet oder defekt. Führen Sie sudo apt-get purge python-pymongo, dann sudo apt-get install python-pip, dann schließlich sudo pip install pymongo.

+0

DANKE SO VIEL !!!!!!!!!!!!! –

4

Gemäß docs wurde MongoClient in Version 2.4 eingeführt. Wenn Sie pymongo von Ihrem Distributions-Repository installiert haben, ist es durchaus möglich, dass es nicht die neueste Version ist. Versuchen Sie es über BiB-Installation (entfernen Sie die von Ihnen zum ersten Mal installiert haben):

pip install pymongo 
+0

danke !! ich musste den älteren installieren, weil ich nicht den neuesten zum arbeiten bekommen konnte! –

1

Wenn Sie verwendet pymongo.Connection Wenn ein Fehler aufgetreten ist, sollten Sie wissen, dass Sie nach den neuen Updates stattdessen pymongo.MongoClient verwenden sollten. Ich hatte dieses Problem, hoffentlich wird dies für jemand anderen hilfreich sein.

0
# 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 
1

Ich möchte robustere Antwort vorschlagen:

pip show pymongo 

jetzt sehen, wo es Sie leiten und von dort einfach das Jetzt pymongo Verzeichnis

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

entfernen, können Sie sicher installieren pymongo wieder:

1

Dieses Problem kann auftreten, wenn Sie mehrere .py-Programme im aktuellen Arbeitsverzeichnis haben. Löschen sie löste meinen Fehler. Ich bin mir nicht sicher, warum.

0

hatte ich das gleiche Problem auf Ubuntu 16.04 Das ist mein Problem gelöst:

apt-get install build-essential Python-dev

sudo apt-get install python-pip

sudo

sudo pip install pymongo

+0

eine Erklärung über das, was Sie dort tun, bitte? – user1120808

+0

Die build-essentials verweisen auf alle Pakete, die zur Kompilierung der Python-Dev-Tools benötigt werden. Dann installiere pip und installiere pymongo mit pip. Wenn Sie Pymongo bereits installiert haben, können Sie Pymongo löschen und dann Pymongo-Paket auf die obige Weise installieren. PS - Ich habe es in anderen Versionen von Ubuntu nicht überprüft. – Ananda

Verwandte Themen