ImportError:没有名为'pymongo'的模块
我在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.exe
和mongo.exe
都能正常工作。看起来是pymongo
出了问题,但我不知道该怎么修复。
13 个回答
试试这个:
首先,输入这个命令来安装一个叫做 pip 的工具:
sudo apt-get install python-pip
然后,使用 pip 来安装一个叫做 pymongo 的库,输入这个命令:
sudo pip install pymongo
我在使用Python 3的时候,结果却安装了Python 2版本的pymongo,使用的命令是
$ pip install pymongo
。后来我用
$ pip uninstall pymongo
把这个版本卸载了,然后通过
$ pip3 install pymongo
安装了Python 3版本的pymongo。(在Linux终端中,我先通过 $ sudo-apt install pip3
安装了pip3)。我希望这也能解决你的问题,就像解决了我的问题一样。
如果你是通过以下命令安装了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脚本了。
你需要做的就是安装 pymongo
(现在你只有 MongoDB 和 Python,但它们之间不会交流)。这个 页面告诉你该怎么做:
- 去 pymongo 的页面
- 下载并运行安装程序。