Python Can';t导入MongoClient

Python Can';t导入MongoClient,python,mongodb,ubuntu,python-2.7,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

我无法做到这一点:

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
>>> 

我做错了什么?

该软件包可能已过时或损坏。运行
sudo-apt-get-purge-python-pymongo
,然后
sudo-apt-get-install-python-pip
,最后
sudo-pip-install-pymongo
,根据2.4版中引入的
MongoClient
。当您从发行库安装
pymongo
时,很可能它不是最新版本。尝试通过PiP安装(先删除已安装的):


是的,这是真的,你需要更新使用,检查升级部分说


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

Python脚本

尝试一下,在python脚本中运行以下语句

# try.py

import pymongo
如果上面的语句没有引发任何异常,那么您需要安装
pymongo-2.4
,如果现有的
pymongo
verion是
2.3

开放式终端

首先,您需要卸载旧的
pymongo
版本

pip uninstall pymongo
然后使用以下命令安装
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

我想提出更有力的答案:

pip show pymongo
现在看看它将把你引向何处,然后从那里简单地删除pymongo目录

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

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

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

sudo apt-get install build-essential python-dev

sudo apt-get install python-pip

sudo pip install pymongo

如果您已将脚本命名为pymongo.py,它将屏蔽要从中导入的pymongo模块


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

在conda env中对我有用

pip uninstall pymongo
然后


确保您的python源文件名不是pymongo.py

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

您是从PyPI还是从git安装的?不,我甚至不知道这是什么,您使用
pip install pymongo
轻松安装pymongo
,或者下载它并运行
setup.py安装
?sudo apt get install python pymongothank you!!事实上,我不得不安装旧的,因为我不能让最新的工作!请解释一下您在那里做了什么?build essentials引用了编译python开发工具所需的所有包。然后安装pip并使用pip安装pymongo。如果已经安装了pymongo,则可以清除pymongo,然后以上述方式安装pymongo包。PS-我没有在其他版本的ubuntu中查到这个问题。这个问题最初是在7年前提出的,还有10个其他答案?
rm -rf <the dir where pymongo lay>/pymongo*
pip install pymongo
sudo apt-get install build-essential python-dev

sudo apt-get install python-pip

sudo pip install pymongo
pip uninstall pymongo
pip install pymongo