【问题标题】:ImportError: No module named requestsImportError:没有名为请求的模块
【发布时间】:2013-06-22 22:56:17
【问题描述】:

每当我尝试导入 requests 时,都会收到错误消息 No module Named requests

import requests

我得到的错误:

File "ex2.py", line 1, in <module>
    import requests
ImportError: No module named requests

【问题讨论】:

  • 您是否安装了requests,使用pipeasy_install
  • 我遇到同样的问题,我是通过 pip 安装的
  • 请注意,我只从 Spyder 中得到问题,而不是 cmd 提示符。
  • 我得到了同样的结果。 pip3 报告“要求已经满足:...”
  • 对我来说,原来是多次安装python的冲突。例如,在我的 Mac 上,不知何故我在 /usr/bin 中获得了 python 和 python2.7,它们没有符号链接到同一个安装。虽然 pip 显然正在为 python2.7 安装模块。因此,python 看不到这些模块。使用python2.7,一切正常。我想我需要清理一下我的环境。

标签: python python-requests python-import


【解决方案1】:

请尝试以下操作。如果一个不起作用,请跳到下一个方法。

pip install requests

或者...

pip3 install requests

或者...

python -m pip install requests

或者...

pythons -m pip install requests

如果所有这些都不起作用,请发表评论!

【讨论】:

    【解决方案2】:

    您收到导入错误,因为请求不是内置模块,而是由其他人创建的,您需要安装请求。

    Install python requests library,此错误将得到解决。

    【讨论】:

      【解决方案3】:

      即使我多次安装了“请求”,我也遇到了同样的错误。问题是我在全局 Python 环境中而不是在应用程序虚拟环境中安装请求。一旦我在虚拟环境中安装了请求,错误就消失了。所以这里有一篇关于如何在应用虚拟环境中安装“请求”的好读物:Virtual Environments and Packages

      【讨论】:

        【解决方案4】:

        面临同样的问题,但无法用上述解决方案解决,所以我尝试了这种方法,它成功了:-

        1. curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py

        2. sudo python2 get-pip.py

        3. python -m pip 安装请求

        【讨论】:

        • 数字 3) 你也可以简单地运行pip install requests
        • 请尽量避免在 pip 命令中使用sudo
        【解决方案5】:

        Requests 不是内置模块(默认 python 安装不附带),因此您必须安装它:

        OSX/Linux

        如果您安装了pip,请使用$ pip install requests(或pip3 install requests 用于python3)。如果 pip 已安装但不在您的路径中,您可以使用 python -m pip install requests(或 python3 -m pip install requests 用于 python3)

        如果您安装了easy_install,您也可以使用sudo easy_install -U requests

        您也可以使用系统包管理器:

        对于centos:yum install python-requests 对于 Ubuntu:apt-get install python-requests

        窗口

        如果您已安装 pip 并将 Pip.exe 添加到路径环境变量中,请使用 pip install requests(或用于 python3 的 pip3 install requests)。如果 pip 已安装但不在您的路径中,您可以使用python -m pip install requests(或python3 -m pip install requests for python3)

        或者在 cmd 提示符下使用 &gt; Path\easy_install.exe requests,其中 Path 是您的 Python*\Scripts 文件夹(如果已安装)。 (例如:C:\Python32\Scripts

        如果你想手动添加一个库到windows机器,你可以下载压缩库,解压,然后放到你的python路径的Lib\site-packages文件夹中。 (例如:C:\Python27\Lib\site-packages

        来自源(通用)

        对于任何缺少的库,源代码通常可在 https://pypi.python.org/pypi/ 获得。您可以在这里下载请求:https://pypi.python.org/pypi/requests

        在 mac osx 和 windows 上,下载源 zip 后,解压缩它,然后从终端/cmd 运行 python setup.py install 从未压缩的目录。

        (source)

        【讨论】:

        • 如果您在 Windows 上安装了 pip,“pip install requests”就可以正常工作。我猜“easy_install requests”也可以在 osx/linux 上运行,但通常首选 pip。 (stackoverflow.com/questions/3220404/…)
        • 对于 centos:yum install python-requests
        • 在mac os x上,如果你安装了easy_install,你也可以使用:sudo easy_install -U requests
        • 后人注意事项:pip install requests 要工作(在 Mac 上),您需要使用 sudo
        • 让它在 Mac OS X 上使用:sudo pip3 install requests
        【解决方案6】:

        Brew 用户可以参考以下,

        安装命令requests:

        python3 -m pip install requests
        

        Homebrew and Python

        pip 是 Python 的包安装程序,您需要包 requests

        【讨论】:

        • 您愿意在此处添加一个关于为什么有效的简要说明吗?
        • pip info 添加了额外评论。
        【解决方案7】:

        在终端/命令行中:

        pip install requests 
        

        然后在你的 Python 脚本中使用它:

        import requests
        

        或者如果你想使用 pycharm IDE 安装包:

        1. 从菜单中的文件转到设置
        2. 接下来转到 Python 解释器
        3. 点击pip
        4. 搜索requests包并安装

        【讨论】:

        • OP从来没有说过pycharm,99%的用户没有使用pycharm,完全没有必要使用pycharm安装包,这是一个命令行任务。这里甚至不应该提到pycharm。
        • 是的,99% 的 Python 用户不使用 pycharm。就像我说的。好吧,也许“只有”85% 的人不使用它,即使我们采用 JetBrains 自己的数字。我个人从未见过 JetBrains 在组织内部用于 Python 开发,并且只听说过它在 Java 主导的商店中使用。重点是 OP 从未要求提供特定于 IDE 的解决方案。
        • 请用99%的文件证明你的观点!!!或 85%!!! @smci
        • 我已经在上面告诉过你哪些数字证明了这一点:JetBrains 自己的数字(!!!)。即使允许 JetBrains 低估了许多不使用 IDE 而是使用 vi/emacs 的开发人员。
        • 可爱的答案!对于使用 Java 编码 15 年并喜欢 JetBrain 工具的人来说,pycharm 是第一选择。这对我很有帮助,非常感谢。
        【解决方案8】:

        在我的情况下,它显示 request Requirement already compatible 。 所以我用。

        sudo pip3 install requests
        

        【讨论】:

          【解决方案9】:

          Python Common installation issues

          如果Homebrew 在 macOS 上搞砸了你的路径,这些命令也很有用。

          python -m pip install requests
          

          python3 -m pip install requests
          

          Multiple versions of Python installed in parallel?

          【讨论】:

            【解决方案10】:

            您必须确保您的请求模块没有安装在更新版本的 python 中。

            当使用 python 3.7 时,运行你的 python 文件:

            python3 myfile.py
            

            或使用以下命令进入 python 交互模式:

            python3
            

            是的,这对我有用。像这样运行你的文件:python3 file.py

            【讨论】:

              【解决方案11】:

              在 Debian/Ubuntu 上为 Python2 安装 requests 模块:

              $ sudo apt-get install python-requests

              对于 Python3,命令是:

              $ sudo apt-get install python3-requests

              【讨论】:

                【解决方案12】:

                如果您使用的是 anaconda 第 1 步: 蟒蛇在哪里 第 2 步: 在管理员模式下打开 anaconda 提示符 第 3 步: cd python 路径> 第 4 步: 在这个位置安装包

                【讨论】:

                  【解决方案13】:

                  这可能有点太晚了,但是即使没有设置 pip 路径,这个命令也可以运行。我正在使用在 Windows 10 上运行的 Python 3.7,这是命令

                  py -m pip install requests
                  

                  您还可以将“请求”替换为任何其他已卸载的库

                  【讨论】:

                    【解决方案14】:

                    我不清楚您使用的是哪个版本的 Python。

                    如果是 Python 3,解决方案是 sudo pip3 install requests

                    【讨论】:

                    • sudo pip3 install requests 如果你想为一台机器上的所有用户安装它,而不仅仅是一个用户。
                    【解决方案15】:

                    唯一对我有用的东西:

                    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
                    python get-pip.py
                    pip install requests
                    

                    【讨论】:

                      【解决方案16】:

                      如果您使用 anaconda 作为您的 python 包管理器,请执行以下操作:

                      conda install -c anaconda requests
                      

                      通过 pip 安装请求对我没有帮助。

                      【讨论】:

                      • 我需要 requests_ntlm,所以必须运行“conda config --add channels conda-forge”然后“conda install -c anaconda requests_ntlm”
                      【解决方案17】:

                      如果你想在 Windows 上导入request

                      pip install request
                      

                      然后beautifulsoup4 为:

                      pip3 install beautifulsoup4
                      

                      【讨论】:

                      • 我认为您的意思是“请求”而不是“请求”。没有名为“request”的库
                      【解决方案18】:

                      试试sudo apt-get install python-requests

                      这对我有用。

                      【讨论】:

                        【解决方案19】:

                        我的回答和@pi-k基本一样。就我而言,我的程序在本地工作,但未能在 QA 服务器上构建。 (我怀疑 devops 的包的旧版本被阻止了,我的版本一定是太过时了)我刚决定升级所有东西

                        $ pip install pip-review
                        $ pip-review --local --interactive
                        

                        【讨论】:

                          【解决方案20】:

                          在 OSX 上,该命令将取决于您的 python 安装方式。

                          Python 2.x - 默认

                          sudo pip install requests
                          

                          Python 3.x

                          sudo pip3 install requests
                          

                          【讨论】:

                          • 我没有注意到差异,但这确实很重要。我已经安装了 python 3.7 版本,并使用 pip 请求,但找不到它。当我通过 pip3 安装时,它现在可以工作了。
                          • 试过 'sudo pip3 install requests' 并看到下载,但是当运行包含请求的文件时,得到典型的“ImportError: No module named requests”。太令人沮丧了。
                          【解决方案21】:

                          我解决了这个问题。你可以试试这个方法。 在这个文件'.bash_profile'中,添加alias python=/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7之类的代码

                          【讨论】:

                            【解决方案22】:

                            在过去的几个月里,我遇到过几次这个问题。我还没有看到发布的 Fedora 系统的好的解决方案,所以这里有另一个解决方案。我正在使用 RHEL7,我发现了以下内容:

                            如果您通过pip 安装了urllib3,并且通过yum 安装了requests,即使您安装了正确的软件包,您也会遇到问题。如果您通过yum 安装了urllib3,并且通过pip 安装了requests,则同样适用。以下是我为解决此问题所做的工作:

                            sudo pip uninstall requests
                            sudo pip uninstall urllib3
                            sudo yum remove python-urllib3
                            sudo yum remove python-requests
                            

                            (确认所有这些库已被删除)

                            sudo yum install python-urllib3
                            sudo yum install python-requests
                            

                            请注意,这仅适用于运行 Fedora、Redhat 或 CentOS 的系统。

                            来源:
                            这个问题(在 cmets 到 this 的答案中)。
                            Thisgithub 问题。

                            【讨论】:

                            • 在 oracle linux(基本上是 RHEL)上尝试过,但没有成功。发布以便其他人可以了解此结果。不过还是谢谢~
                            • @ragerdl 您的问题可能与请求或 urllib3 无关。它可能与其他 python 包一起使用。这仅取决于您要运行的内容。
                            • 确实,我的路径中有两条坏蟒蛇,还有一条坏蟒蛇的别名。摆脱这三个 python 指针解决了我的问题。 :)
                            【解决方案23】:

                            我已经安装了python2.7和python3.6

                            Open Command Line to ~/.bash_profile 我发现 #Setting PATH for Python 3.6 ,所以 我将路径更改为 PATH="/usr/local/Cellar/python/2.7.13/bin:${PATH}" , (请确保您的python2.7的路径),然后保存。 它对我有用。

                            【讨论】:

                              【解决方案24】:

                              在 Windows 上打开 命令行

                              pip3 install requests
                              

                              【讨论】:

                                【解决方案25】:

                                在我的情况下 requests 已经安装,但需要升级。以下命令成功了

                                $ sudo pip install requests --upgrade
                                

                                【讨论】:

                                • 我试过了,还是不行。如何让它工作?
                                【解决方案26】:

                                向应用程序添加第三方包

                                点击此链接 https://cloud.google.com/appengine/docs/python/tools/libraries27?hl=en#vendoring

                                第 1 步: 在项目的根目录中创建一个名为 appengine_config.py 的文件,然后添加以下行:

                                来自 google.appengine.ext 导入供应商

                                添加安装在“lib”文件夹中的所有库。

                                vendor.add('lib')

                                第二步:在项目根目录下创建一个目录并命名为“lib”。

                                第三步:使用 pip install -t lib requests

                                第 4 步:部署到应用引擎。

                                【讨论】:

                                • 这实际上是我想要的。仅上述步骤不适用于 AppEngine :)
                                【解决方案27】:

                                如果您使用的是Ubuntu,则需要安装requests

                                运行这个命令:

                                pip install requests
                                

                                如果遇到权限被拒绝错误,请在命令前使用 sudo:

                                sudo pip install requests
                                

                                【讨论】:

                                • 我在 Mint 上,即使安装了它,也会遇到同样的错误。
                                【解决方案28】:

                                对于 windows,只需将路径作为 cd 和 python 的“脚本”的路径,然后执行命令easy_install.exe requests。然后尝试导入请求...

                                【讨论】:

                                  【解决方案29】:

                                  我遇到了同样的问题,所以我将名为“requests”的文件夹从 https://pypi.python.org/pypi/requests#downloadsrequests download 复制到 “/Library/Python/2.7/site-packages”。 现在,当您使用:导入请求时,它应该可以正常工作。

                                  【讨论】:

                                  • 现在我有No module named urllib3 :)
                                  • @PavelAlexeev 尝试在“pip install urllib3”之前执行此命令
                                  猜你喜欢
                                  • 2013-04-22
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 1970-01-01
                                  相关资源
                                  最近更新 更多