2013-07-12 26 views
13

Jestem w stanie to zrobić:Nie można importować MongoClient

from pymongo import MongoClient 

uzyskać:

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

jestem w stanie import pymongo bez problemów.

Używam mongodb 2.2.3 i Python 2.7.

Próbowałem to również:

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

Co robię źle?

+0

Czy instalowałeś z PyPI lub z git? – Chris

+0

nie mam nawet pojęcia, co to jest –

+1

Czy zainstalowałeś go z 'pip install pymongo',' easy_install pymongo', lub pobierając go i uruchamiając 'setup.py install'? – Chris

Odpowiedz

23

Pakiet jest prawdopodobnie nieaktualny lub uszkodzony. Uruchom sudo apt-get purge python-pymongo, następnie sudo apt-get install python-pip, a następnie sudo pip install pymongo.

+0

DZIĘKUJEMY TAK DUŻO !!!!!!!!!!!!! –

4

Zgodnie z docs, MongoClient został wprowadzony w wersji 2.4. Po zainstalowaniu pymongo z repozytorium dystrybucji jest całkiem możliwe, że nie jest to najnowsza wersja. Spróbuj zainstalować go przez PIP (wyjąć jedną zainstalowano pierwszy):

pip install pymongo 
+0

dziękuję !! Musiałem zainstalować starszą, ponieważ nie mogłem wykonać najnowszej! –

1

Jeśli użyto pymongo.Connection i napotkany błąd, powinieneś wiedzieć, że po nowych aktualizacjach powinieneś zamiast tego użyć pymongo.MongoClient. Miałem ten problem, więc mam nadzieję, że będzie to pomocne dla kogoś innego.

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

chciałbym zaproponować bardziej solidną odpowiedź:

pip show pymongo 

teraz zobaczyć, gdzie skierować cię, a stamtąd po prostu usunąć katalog pymongo

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

Teraz można bezpiecznie zainstalować Pymongo ponownie:

pip install pymongo 
1

Ten problem może wystąpić, jeśli masz wiele programów .py w bieżącym katalogu roboczym. Usunięcie ich rozwiązało mój błąd. Nie jestem jednak tego pewien.

0

miałem ten sam problem na ubuntu 16.04 to rozwiązać mój problem:

sudo apt-get install build-essential python-dev

sudo apt-get install python-pip

sudo instalacja pip pymongo

+0

jakieś wyjaśnienie na temat tego, co tu robisz, proszę? – user1120808

+0

Podstawy kompilacji odnoszą się do wszystkich pakietów potrzebnych do kompilacji narzędzi Python-Dev. Następnie zainstaluj pip i zainstaluj pymongo z pip. Jeśli masz już zainstalowane pymongo, możesz wyczyścić pymongo, a następnie zainstalować pakiet pymongo w powyższy sposób. PS - nie sprawdziłem tego w innych wersjach Ubuntu. – Ananda

Powiązane problemy