Ответ 1
Этот пакет, вероятно, устарел или сломан. Запустите sudo apt-get purge python-pymongo
, затем sudo apt-get install python-pip
, а затем sudo pip install pymongo
.
Я не могу этого сделать:
from pymongo import MongoClient
Я получаю:
>>> import pymongo
>>> from pymongo import MongoClient
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name MongoClient
>>>
Я могу import pymongo
без проблем.
Я запускаю mongodb 2.2.3
и Python 2.7
.
Я также пробовал это:
>>> connection = pymongo.MongoClient()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'MongoClient'
>>>
Что я делаю неправильно?
Этот пакет, вероятно, устарел или сломан. Запустите sudo apt-get purge python-pymongo
, затем sudo apt-get install python-pip
, а затем sudo pip install pymongo
.
Согласно docs, MongoClient
был представлен в версии 2.4. Когда вы установили pymongo
из своего репозитория распространения, вполне возможно, что это не самая последняя версия. Попробуйте установить его через PiP (удалите тот, который вы установили первым):
pip install pymongo
да, это правда, вам нужно обновить использование, проверьте раздел обновления http://api.mongodb.org/python/current/installation.html
easy_install -U pymongo
Если вы использовали pymongo.Connection и столкнулись с ошибкой, вы должны знать, что после новых обновлений вы должны использовать pymongo.MongoClient. У меня была эта проблема, надеюсь, это будет полезно кому-то еще.
Я хотел бы предложить более надежный ответ:
pip show pymongo
теперь посмотрите, куда он направляет вас, и оттуда просто удалите каталог pymongo
rm -rf <the dir where pymongo lay>/pymongo*
Теперь вы можете спокойно установить pymongo снова:
pip install pymongo
Эта проблема может возникнуть, если в текущем рабочем каталоге имеется несколько программ .py. Удаление их решило мою ошибку. Однако я не уверен в причине.
# 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
У меня была такая же проблема на ubuntu 16.04 Это решило мою проблему:
sudo apt-get install build-essential python-dev
sudo apt-get install python-pip
sudo pip install pymongo