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

use*_*858 22 python mongodb pymongo

我在使用Python 3.4,mongodb 4.2.10在Win 7(64)上运行pymongo时遇到问题.错误输出如下:

import pymongo
ImportError: No module named 'pymongo'
Run Code Online (Sandbox Code Playgroud)

代码非常简单:

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)
Run Code Online (Sandbox Code Playgroud)

我试过已经重新安装Python和MongoDB - 没有帮助.当我在cmd中手动执行它时,它工作,即mongod.exe和mongo.exe工作正常.似乎pymongo有问题,但我不知道如何解决它.

Sal*_*ali 26

你需要的只是实际安装pymongo(目前你只有mongo和python,但他们不知道如何互相交谈).这个页面告诉你究竟该怎么做:

  • 我已经安装了pymongo。但仍然有这个错误。任何的想法? (11认同)

van*_*102 14

我是Python新手,

但我认为安装setuptools是个好主意,

之后:

pip install pymongo
Run Code Online (Sandbox Code Playgroud)


doe*_*uvc 10

如果您使用以下命令安装了 pymongo:

sudo pip install pymongo or
sudo -E pip install pymongo 
Run Code Online (Sandbox Code Playgroud)

您仍然遇到导入错误,然后尝试使用 sudo 运行您的 python 脚本,例如:

sudo python example.py
Run Code Online (Sandbox Code Playgroud)

如果您能够以这种方式运行脚本,但不能没有 sudo。那么可能存在 PYTHON_PATH 或权限问题。

解决问题#1(即 PYTHON_PATH):pip 安装包的位置和 python 查找包的位置不匹配。

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

sudo pip show pymongo
Run Code Online (Sandbox Code Playgroud)

它显示如下输出:

---
Name: pymongo
Version: 3.4.0
Location: /usr/local/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)

现在您知道 pip 安装包的位置了。在 .bashrc 中添加以下行:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/
Run Code Online (Sandbox Code Playgroud)

运行以下命令再次执行 .bashrc :

source .bashrc
Run Code Online (Sandbox Code Playgroud)

现在尝试在没有 sudo 的情况下运行 python 脚本。它应该运行。

如果没有,请执行以下操作:

解决问题#2(即权限):允许非 root 用户读取和执行 python pacakages。

sudo chmod -R ugo+rX /usr/local/lib/python2.7/
Run Code Online (Sandbox Code Playgroud)

这应该可以解决您的所有问题。您应该能够在没有 sudo 的情况下运行 python 脚本。


小智 6

尝试这个:

  1. sudo apt-get install python-pip

  2. sudo pip install pymongo


小智 5

如果你遇到这样的问题,可能你没有做两件事。

  1. 您没有安装 pymongo。您可以通过以下命令安装;

    $pip install pymongo

  2. 您安装了 pymongo 但您有两个 python 包位置。像下面这样;

    • C:\Python\Python37-32\Lib\site-packages\pymongo(pymongo安装在这里)

    • C:\Anaconda3\Lib\site-packages\“pymongo 不在这里”

    • 然后你尝试在这里工作。

    • 可能您运行 Spyder,但 Spyder 正在查找 Anaconda\Lib\site-packages\ 但 pymongo 包不在这里。

抱歉英语不好。


Ege*_*rcü 5

我正在研究 Python 3,但安装了 Python 2 版本的 pymongo

$ pip install pymongo命令。我卸载了这个版本的 pymongo

$ pip uninstall pymongo 并通过以下方式安装了它的 Python 3 版本

$ pip3 install pymongo. (通过$ sudo-apt install pip3在 linux 终端安装 pip3 之后)。我希望这能解决你和我的问题。