ImportError:没有名为' pymongo'

时间:2014-04-05 19:20:36

标签: python mongodb pymongo

我在使用Python 3.4,mongodb 4.2.10在Win 7(64)上运行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 - 没有帮助。当我在cmd中手动执行它时,它工作正常,即mongod.exe和mongo.exe工作正常。 pymongo似乎有问题,但我不知道如何解决它。

11 个答案:

答案 0 :(得分:23)

你需要的只是实际安装pymongo(目前你只有mongo和python,但他们不知道如何互相交谈)。这page is telling yo你到底该做什么:

答案 1 :(得分:13)

我是Python新手,

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

之后:

pip install pymongo

答案 2 :(得分:3)

如果您使用以下命令安装了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(即许可): 允许非root用户读取和执行python pacakages。

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

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

答案 3 :(得分:3)

我正在使用Python 3,但使用

安装了pymongo的Python 2版本

imagePicker.modalPresentationStyle = .fullScreen命令。我使用

卸载了此版本的pymongo

$ pip install pymongo并通过

安装了它的Python 3版本

$ pip uninstall pymongo。 (在Linux终端中通过$ pip3 install pymongo安装pip3之后)。希望这也能解决您的问题。

答案 4 :(得分:2)

试试这个:

  1. sudo apt-get install python-pip

  2. sudo pip install pymongo

答案 5 :(得分:2)

尝试以下操作:

groupby

答案 6 :(得分:2)

在某些项目上工作时,我在linux上遇到相同的错误,我将为您发布linux命令,您可以轻松找到等效的Windows

解决我问题的方法是先安装虚拟环境venv

sparse_categorical_crossentropy

然后移至项目目录(CD),在项目工作目录中创建一个venv并将其激活。

> sudo pacman -S python-virtualenv

一旦您进入venv,您应该会看到这样的命令提示符

> python -m venv venv/
> . venv/bin/activate

现在使用

在您的venv中安装pymongo
(venv) [sam@archlinux labs]$ 

然后在虚拟环境中运行文件

(venv) [sam@archlinux labs]$ pip install pymongo

使用以下命令在您的venv中安装烧瓶也相同

(venv) [sam@archlinux labs]$ python myfile.py

答案 7 :(得分:1)

  1. 在文档中创建一个新文件夹,例如" flask-pymongo"
  2. 在您的终端更改目录中C:\ Users \ YOUR_USERNAME \ Documents \ Flask-PyMongo \
  3. git clone https://github.com/dcrosta/flask-pymongo
  4. cd flask-pymongo
  5. py setup.py开发 python setup.py develop(取决于python如何安装到你的路径上)
  6. 从终端的任何地方使用:pip install pymongo
  7. 解决方案适用于Windows用户

答案 8 :(得分:1)

对我来说,通过控制台/终端安装pymongo之后出现了此错误,但是当我查看项目的解释器时(例如,在PyCharm中,您转到

首选项>'项目:<'项目名称'>'>项目解释器

我看到了pip和setuptools之类的东西,但没有看到pymongo。我单击窗格底部的“ +”,搜索pymongo并找到了它,并可以将其安装在此处。添加此项目后,项目运行正常

enter image description here

enter image description here

答案 9 :(得分:1)

对我来说,我正在运行Flask服务器,所以我不得不去终端并运行命令:

pip install Flask-PyMongo

答案 10 :(得分:0)

如果您有这样的问题,可能您没有两件事。

  1. 您尚未安装pymongo。您可以通过以下命令进行安装;

    $ pip安装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软件包不在此处。

对不起,英语不好。