ImportError: 没有名为requests的模块 - Python
当我运行以下这行代码时,出现了一个错误信息
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 个回答
你可能缺少了 certifi
模块。
概述: 从你的错误信息来看,你似乎是在使用Windows系统,并且是用的原生Windows的Python安装。所以我这里会给出Windows的操作步骤。不过因为我用的是基于Cygwin的Python安装,所以我会提供一些基于Cygwin的步骤来解决你的问题。
不过,你也可以很简单地在Windows命令提示符下使用这些步骤,只需要安装 pip
或 easy_install
,或者使用预编译的二进制文件或源代码。
Windows-Cygwin-Pip方法:
- 将Python可执行文件所在的目录添加到你的环境变量PATH中。具体操作步骤可以参考 这里。
- 获取pip,这样可以方便地安装新的Python包。最简单的方法是在Cygwin的主目录下载get-pip.py,然后在Cygwin的bash命令提示符中运行
python get-pip.py
。详细的替代步骤可以参考 这里。 - 在Cygwin的bash命令行中运行
pip install requests
。这会安装requests
和certifi
包,结果会在/lib/site-packages文件夹中生成results
、requests-2.4.0.dist-info
、certifi
和certifi-14.05.14-py2.7.egg-info
。 - 运行Python并执行你原来的代码
import requests
。这样就不会出错了。
安装新包的其他方法:
还有几种其他方法可以下载这个 requests
包,或者任何新的Python包。这些方法包括:
- 在Cygwin中获取
easy_install
并运行easy_install requests
。可以通过安装setuptools
包来获取easy_install
,或者按照 这里的说明操作。 - 从 这里 下载一个预编译的二进制文件,并作为可执行文件运行。它会自动在Windows注册表中最新的Python安装下安装这个模块。
- 从Github下载
requests
的源代码到主目录,然后运行python setup.py install
。
Python-Requests安装文档:
在原始的Python-Requests项目网站上也有一些安装 requests
的简要方法。可以查看 这里。
为了让你的工作环境更高效,避免很多麻烦,可以按照以下步骤操作:
- 安装 virtualenv
- 安装 virtualenvwrapper
- 总是用 virtualenvwrapper 来管理你的环境
- 在你的虚拟环境里,使用 pip 来安装依赖包
- 使用 'pip freeze --local' 来查看已安装的包,或者生成一个 requirements.txt 文件(可以用 pip freeze --local > requirements.txt 来实现)
如果你对这些内容完全不懂,建议你花点时间去了解一下这些工具,你会发现这就是为什么 Python 这么好用的原因之一(当然,其他编程语言也有类似的工具)。
在Windows上,先安装pip。以后你可能还需要其他一些软件包,所以有一个合适的包管理工具会很有帮助。这里是相关的说明文档:https://pip.pypa.io/en/latest/index.html