ImportError:没有名为'pymongo'的模块

41 投票
13 回答
178991 浏览
提问于 2025-04-18 01:30

我在Windows 7(64位)上用Python 3.4和mongodb 4.2.10运行pymongo时遇到了问题。错误信息如下:

import pymongo
ImportError: No module named 'pymongo'

代码其实很简单:

import pymongo
from pymongo import MongoClient

client=MongoClient()
db=client.test_db
dict={'A':[1,2,3,4,5,6]}
db.test_collection.insert(dict)
to_print=db.test_collection.find()
print(to_print)

我已经尝试重新安装Python和MongoDB,但没有解决问题。在命令提示符下手动运行时,mongod.exemongo.exe都能正常工作。看起来是pymongo出了问题,但我不知道该怎么修复。

13 个回答

6

试试这个:

  1. 首先,输入这个命令来安装一个叫做 pip 的工具:sudo apt-get install python-pip

  2. 然后,使用 pip 来安装一个叫做 pymongo 的库,输入这个命令:sudo pip install pymongo

7

我在使用Python 3的时候,结果却安装了Python 2版本的pymongo,使用的命令是

$ pip install pymongo。后来我用

$ pip uninstall pymongo把这个版本卸载了,然后通过

$ pip3 install pymongo安装了Python 3版本的pymongo。(在Linux终端中,我先通过 $ sudo-apt install pip3 安装了pip3)。我希望这也能解决你的问题,就像解决了我的问题一样。

10

如果你是通过以下命令安装了pymongo:

sudo pip install pymongo or
sudo -E pip install pymongo 

但仍然遇到导入错误,那就试着用sudo来运行你的Python脚本,像这样:

sudo python example.py

如果这样能运行脚本,但不用sudo就不行,那可能是PYTHON_PATH或者权限的问题。

解决问题#1(也就是PYTHON_PATH): pip安装包的位置和Python查找包的位置不一致。

那么,怎么找到pip安装包的位置呢?运行以下命令:

sudo pip show pymongo

它会显示类似这样的输出:

---
Name: pymongo
Version: 3.4.0
Location: /usr/local/lib/python2.7/dist-packages

现在你知道pip安装包的位置了。接下来在你的.bashrc文件中添加以下一行:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/

然后运行以下命令来重新执行.bashrc:

source .bashrc

现在再试着不用sudo运行Python脚本,应该可以正常运行了。

如果还是不行,那就试试以下方法:

解决问题#2(也就是权限): 允许非根用户读取和执行Python包。

sudo chmod -R ugo+rX /usr/local/lib/python2.7/

这样应该能解决你所有的问题,你应该可以在不使用sudo的情况下运行Python脚本了。

26

我刚开始学习Python,

我觉得安装setuptools是个不错的主意,

之后:

pip install pymongo
32

你需要做的就是安装 pymongo(现在你只有 MongoDB 和 Python,但它们之间不会交流)。这个 页面告诉你该怎么做:

撰写回答