ImportError: 没有名为requests的模块 - Python

1 投票
3 回答
3617 浏览
提问于 2025-04-19 21:52

当我运行以下这行代码时,出现了一个错误信息

import requests

这是错误信息

Traceback (most recent call last):
  File "C:\Python27\test", line 1, in <module>
    import requests
ImportError: No module named requests

根据我在其他帖子看到的,导致这个问题的常见原因是,有些人下载了requests模块,但并没有真正安装它。我下载了压缩包,解压后通过电脑的命令行安装了setup.py文件。在Python27/Lib/site-packages文件夹里有一个requests-2.4.0-py2.7.egg的文件夹。

3 个回答

0

你可能缺少了 certifi 模块。

概述: 从你的错误信息来看,你似乎是在使用Windows系统,并且是用的原生Windows的Python安装。所以我这里会给出Windows的操作步骤。不过因为我用的是基于Cygwin的Python安装,所以我会提供一些基于Cygwin的步骤来解决你的问题。

不过,你也可以很简单地在Windows命令提示符下使用这些步骤,只需要安装 pipeasy_install,或者使用预编译的二进制文件或源代码。

Windows-Cygwin-Pip方法:

  1. 将Python可执行文件所在的目录添加到你的环境变量PATH中。具体操作步骤可以参考 这里
  2. 获取pip,这样可以方便地安装新的Python包。最简单的方法是在Cygwin的主目录下载get-pip.py,然后在Cygwin的bash命令提示符中运行 python get-pip.py。详细的替代步骤可以参考 这里
  3. 在Cygwin的bash命令行中运行 pip install requests。这会安装 requestscertifi 包,结果会在/lib/site-packages文件夹中生成 resultsrequests-2.4.0.dist-infocertificertifi-14.05.14-py2.7.egg-info
  4. 运行Python并执行你原来的代码 import requests。这样就不会出错了。

安装新包的其他方法: 还有几种其他方法可以下载这个 requests 包,或者任何新的Python包。这些方法包括:

  1. 在Cygwin中获取 easy_install 并运行 easy_install requests。可以通过安装 setuptools 包来获取 easy_install,或者按照 这里的说明操作。
  2. 这里 下载一个预编译的二进制文件,并作为可执行文件运行。它会自动在Windows注册表中最新的Python安装下安装这个模块。
  3. 从Github下载 requests 的源代码到主目录,然后运行 python setup.py install

Python-Requests安装文档: 在原始的Python-Requests项目网站上也有一些安装 requests 的简要方法。可以查看 这里

0

为了让你的工作环境更高效,避免很多麻烦,可以按照以下步骤操作:

  1. 安装 virtualenv
  2. 安装 virtualenvwrapper
  3. 总是用 virtualenvwrapper 来管理你的环境
  4. 在你的虚拟环境里,使用 pip 来安装依赖包
  5. 使用 'pip freeze --local' 来查看已安装的包,或者生成一个 requirements.txt 文件(可以用 pip freeze --local > requirements.txt 来实现)

如果你对这些内容完全不懂,建议你花点时间去了解一下这些工具,你会发现这就是为什么 Python 这么好用的原因之一(当然,其他编程语言也有类似的工具)。

0

在Windows上,先安装pip。以后你可能还需要其他一些软件包,所以有一个合适的包管理工具会很有帮助。这里是相关的说明文档:https://pip.pypa.io/en/latest/index.html

撰写回答