【问题标题】:ImportError: No module named 'pymongo'ImportError:没有名为“pymongo”的模块
【发布时间】:2022-02-14 20:06:08
【问题描述】:

我在使用 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.exemongo.exe 工作正常。 pymongo 似乎有问题,但我不知道如何解决。

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:

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

    【讨论】:

    • 我已经安装了 pymongo。但仍然有这个错误。有什么想法吗?
    • @ji-ruh 实际上我不知道。对不起
    • @ji-ruh 知道了。所以你基本上卸载并安装了一次。很高兴你解决了你的问题。
    • 如果您发现pip install pymongo 不能解决您的问题,请确保您在项目文件夹下运行此命令。原因是当你使用虚拟环境时,你需要在你的 venv/lib/python2.7/site-packages 文件夹中安装 pymongo。
    【解决方案2】:

    我是 Python 新手,

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

    之后:

    pip install pymongo
    

    【讨论】:

      【解决方案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 包。

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

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

      【讨论】:

      • .zshrc 而不是 Big Sur 用户的 .bashrc。
      【解决方案4】:

      试试这个:

      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 包不在这里。

        抱歉英语不好。

        【讨论】:

          【解决方案6】:

          我正在使用 Python 3,但使用

          安装了 Python 2 版本的 pymongo

          $ pip install pymongo 命令。我用

          卸载了这个版本的 pymongo

          $ pip uninstall pymongo 并通过

          安装了它的 Python 3 版本

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

          【讨论】:

          • "pip3 install pymongo" 有帮助,当有 2 个版本的 python 时有点令人困惑......
          【解决方案7】:

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

          pip install Flask-PyMongo
          

          【讨论】:

            【解决方案8】:
            1. 在您的文档中创建一个新文件夹,例如“flask-pymongo”
            2. 在终端中将目录更改为 C:\Users\YOUR_USERNAME\Documents\Flask-PyMongo\
            3. git 克隆https://github.com/dcrosta/flask-pymongo
            4. cd 烧瓶-pymongo
            5. py setup.py develop OR python setup.py develop(取决于 python 安装到您的路径的方式)
            6. 在终端的任何地方使用:pip install pymongo

            解决方案适用于 windows 用户

            【讨论】:

              【解决方案9】:

              尝试以下方法:

              conda install pymongo
              

              【讨论】:

                【解决方案10】:

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

                Preferences > 'Project: ' > Project Interpreter

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

                【讨论】:

                  【解决方案11】:

                  我在做一些项目时在 linux 上遇到了同样的错误,我会为你发布它的 linux 命令,你可以很容易地找到对应的 windows

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

                  > sudo pacman -S python-virtualenv
                  

                  创建一个 venv(最好将 virtualenv 保存在与项目不同的目录中,因为您不需要分发它)并激活它。

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

                  进入 venv 后,您应该会看到类似这样的命令提示符

                  (venv) [sam@archlinux labs]$ 
                  

                  现在在你的 venv 中安装 pymongo 使用

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

                  然后在虚拟环境处于活动状态时运行您的文件

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

                  在你的venv中安装flask也是一样的

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

                  【讨论】:

                    【解决方案12】:

                    我正在使用 Python 的虚拟环境 (venv),但由于某种原因,它对我来说不起作用

                    pip 安装 pymongo

                    在我的生活中。它在 venv/Lib/site-packages 中正确安装了包,但我无法运行脚本。 对我有用的是创建一个 requirements.txt 文件并在其中编写我需要的项目包

                    pymongo==4.0.1

                    然后运行命令

                    python3 -m pip install -r requirements.txt

                    我现在可以运行我的脚本了。希望这可以帮助任何新人解决这个问题。

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 2013-03-11
                      • 1970-01-01
                      • 2012-12-07
                      • 2012-05-23
                      • 2019-07-29
                      • 2015-07-04
                      • 2014-03-15
                      相关资源
                      最近更新 更多