首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pymongo: ImportError:没有名为pymongo的模块

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

Stack Overflow用户
提问于 2017-03-17 14:26:02
回答 2查看 19.6K关注 0票数 5

我使用pip3成功地安装了pymongo

代码语言:javascript
复制
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。但是,当我执行它时,我会得到以下错误:

代码语言:javascript
复制
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

路径是这样的:

代码语言:javascript
复制
 >>> 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)]'
>>> 

在谷歌上搜索。在堆栈溢出:ImportError: No module named 'pymongo'上找到了这个问题,然后指向堆栈溢出上的另一个页面:failure to import pymongo ubuntu

代码语言:javascript
复制
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模块。

编辑:,为了解决这个问题,我尝试了更多的东西。使用空闲,我可以导入pymongo并轻松地将记录插入到MongoDB中。

代码语言:javascript
复制
>>> 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脚本导入它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-17 18:03:33

"pip“或"pip3”与"python“或"python3”的环境不同,这是一个常见的问题。为了确保您安装的环境与运行的环境相同:

代码语言:javascript
复制
python -m pip install pymongo

或者:

代码语言:javascript
复制
python3 -m pip install pymongo
票数 14
EN

Stack Overflow用户

发布于 2019-01-20 04:36:23

  1. python有自己的python。有时我们会从brew或anaconda安装另一条蟒蛇。首先,您应该使用哪个python。
代码语言:javascript
复制
which python
which python3
which pip
which pip3

命令pythonpython3pippip3可以是路径、别名或软链接。

如果它是一个路径,你就会找到它;如果它是一个别名或软链接,你应该使用ls -l xxx找到python的真实路径

示例:

代码语言:javascript
复制
[morningtzh@mbajiushigelaji:~]
% which python
python: aliased to /Users/morningtzh/anaconda/bin/python3
[morningtzh@mbajiushigelaji:~]
% ls -l /Users/morningtzh/anaconda/bin/python3
lrwxr-xr-x  1 morningtzh  staff  9  1  8 14:41 /Users/morningtzh/anaconda/bin/python3 -> python3.6
[morningtzh@mbajiushigelaji:~]
% ls -l /Users/morningtzh/anaconda/bin/python3.6
-rwxrwxr-x  1 morningtzh  staff  3937816  1  8 14:41 /Users/morningtzh/anaconda/bin/python3.6
[morningtzh@mbajiushigelaji:~]
% which pip3
/Users/morningtzh/anaconda/bin/pip3
[morningtzh@mbajiushigelaji:~]
% ls -l /Users/morningtzh/anaconda/bin/pip3
-rwxr-xr-x  1 morningtzh  staff  237 10 16 16:16 /Users/morningtzh/anaconda/bin/pip3

这个例子显示我的python和pip是一对~。

  1. 我的你在使用虚拟环境

以同样的方式找到真正的道路。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42860060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档