Skip to main content
 首页 » 编程设计

python之pymongo: ImportError: 没有名为 pymongo 的模块

2025年05月04日11TianFang

我使用pip3成功安装了pymongo

Aleeshas-MacBook-Air:project 2 aleesha$ sudo pip3 install pymongo 
The directory '/Users/aleesha/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 
The directory '/Users/aleesha/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 
Collecting pymongo 
  Downloading pymongo-3.4.0-cp35-cp35m-macosx_10_6_intel.whl (294kB) 
    100% |████████████████████████████████| 296kB 730kB/s  
Installing collected packages: pymongo 
Successfully installed pymongo-3.4.0 
Aleeshas-MacBook-Air:project 2 aleesha$ 

然后我用 python 编写了一个写入 MongoDB 的测试脚本。但是当我执行它时,出现以下错误:

Aleeshas-MacBook-Air:project 2 aleesha$ python pythonScript.py  
Traceback (most recent call last): 
  File "pythonScript.py", line 5, in <module> 
    from pymongo import MongoClient 
ImportError: No module named pymongo 
Aleeshas-MacBook-Air:project 2 aleesha$ 

Python 版本:Python 3.5.2

路径是这样的:

 >>> import sys 
    >>> sys.path 
    ['', '/Users/aleesha/Documents', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages'] 
>>> sys.version 
'3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25) \n[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]' 
>>>  

在谷歌上搜索。在 stackoverflow 上发现了这个问题:ImportError: No module named 'pymongo'然后指向 stackoverflow 上的另一个页面:failure to import pymongo ubuntu

sudo pip uninstall pymongo ==> Succesfully uninstalled 
sudo pip uninstall bson ==> Cannot uninstall requirement bson, not installed 
sudo apt-get remove python-bson ==> sudo: apt-get: command not found 
sudo apt-get remove python-gridfs    # not sure if it's necessary ==> sudo: apt-get: command not found 
sudo pip install pymongo -U ==> successfully installed pymongo 

但是即使在这之后,我也面临着同样的问题。我无法导入 pymongo 模块。

编辑:我正在尝试更多的方法来解决这个问题。使用 IDLE,我可以导入 pymongo 并轻松地将记录插入 MongoDB。

>>> from pymongo import MongoClient 
>>> client = MongoClient() 
>>> db = client.kmp 
>>> db.KMP_DATA.insert_one({"seq" : 1,"data" : "ABCD"}) 
<pymongo.results.InsertOneResult object at 0x1058c8828> 
>>>  

但是我仍然无法从 python 脚本中导入它。

请您参考如下方法:

“pip”或“pip3”与“python”或“python3”不是同一个环境是一个常见问题。为确保您使用与运行时相同的环境进行安装:

python -m pip install pymongo 

或者:

python3 -m pip install pymongo