无法导入MongoClient

时间:2013-07-12 21:38:24

标签: python mongodb ubuntu python-2.7

我无法做到这一点:

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.3Python 2.7

我也试过这个:

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

我做错了什么?

13 个答案:

答案 0 :(得分:24)

该套餐可能已过时或破损。运行sudo apt-get purge python-pymongo,然后sudo apt-get install python-pip,最后sudo pip install pymongo

答案 1 :(得分:4)

根据docs,版本2.4中引入了MongoClient。当您从分发存储库安装pymongo时,它很可能不是最新版本。尝试通过PiP安装它(删除你先安装的那个):

pip install pymongo

答案 2 :(得分:2)

我想建议更健全的答案:

pip show pymongo

现在看看它指向你的位置,然后从那里删除pymongo目录

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

现在,您可以再次安全地安装pymongo:

pip install pymongo

答案 3 :(得分:1)

是的,您需要更新使用,请查看升级部分http://api.mongodb.org/python/current/installation.html

   easy_install -U pymongo

答案 4 :(得分:1)

如果您使用了pymongo.Connection并遇到错误,您应该知道在新的更新之后,您应该使用pymongo.MongoClient。我有这个问题所以希望这对其他人有帮助。

答案 5 :(得分:1)

如果当前工作目录中有多个.py程序,则可能会出现此问题。 删除它们解决了我的错误。我不确定原因。

答案 6 :(得分:1)

如果您已将脚本命名为pymongo.py,则该脚本将掩盖您要从中导入的pymongo模块。

将脚本重命名为xyz.py之类的名称(如果在其旁边创建了pymongo.pyc文件,则将其删除)。

答案 7 :(得分: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

答案 8 :(得分:0)

我在ubuntu 16.04上遇到了同样的问题 这解决了我的问题:

sudo apt-get install build-essential python-dev

sudo apt-get install python-pip

sudo pip install pymongo

答案 9 :(得分:0)

为我为conda env工作

pip uninstall pymongo

然后

pip install pymongo

答案 10 :(得分:0)

将文件名从 pymongo.py 更改为其他名称。

答案 11 :(得分:0)

您的项目文件夹中有一个名为 queue.py 的文件。重命名该文件,应该可以解决问题。

答案 12 :(得分:-1)

确保您的python源文件未称为pymongo.py