模块导入错误:没有名为“requests”的模块 Python 3.4.0。

10

在尝试导入Python 3.4.0中的requests模块时,我收到以下错误:ImportError: No module named 'requests'

在之前的Python版本中,requests模块需要您单独使用pip安装。但根据Python 3.4.0中的新功能,pip已经内置了:https://docs.python.org/3.5/whatsnew/3.4.html#whatsnew-pep-453

我的导入代码仅为:

import requests

我不明白为什么这个不起作用。非常感谢任何帮助。


1
你仍然需要使用pip来安装requests,只是不再需要安装pip - Sean Vieira
4个回答

9

pip包含在内是为了便于获取新的软件包。这并不表示所有通过pip可访问的模块都已捆绑在新的Python中(希望如此)。

在使用requests包之前,您仍需要执行pip install requests命令进行安装。

编辑:根据另一个问题的回答,发现对requests的依赖关系存在缺陷。可以尝试以下操作:

pip install chardet2 urllib3

如上所述,根据提到的SO问题建议。


@Richard:更新了新的信息。让我们尝试一下,看看它是否解决了你的问题。 - Mat M

8

这里有一个可能的答案,请点击此处查看

  1. 安装 Python 3 的 pip 工具:sudo apt-get install python3-pip
  2. 使用 pip3 安装 requests 模块:pip3 install requests

如果您遇到权限被拒绝的错误,请在超级用户模式下执行前面的命令:sudo pip3 install requests


1

虽然pip是内置的,但你仍需要调用pip install requestspip只是下载工具,而不是实际项目。要下载,请使用以下命令:

bash-3.2$ pip install requests
Downloading/unpacking requests
  Downloading requests-2.2.1-py2.py3-none-any.whl (625kB): 625kB downloaded
Installing collected packages: requests
Cleaning up...
...

您不必安装pip,但仍需使用它来安装其他内容。

回答您的评论,再次运行pip install,这次使用sudo。 您应该会看到以下消息:

$ sudo pip install requests
Password:
Requirement already satisfied (use --upgrade to upgrade): requests in /Library/Python/2.7/site-packages/requests-2.1.0-py2.7.egg
Cleaning up...

或类似内容。然后运行以下代码:

>>> import requests
>>> requests
<module 'requests' from '/Library/Python/2.7/site-packages/requests-2.1.0-py2.7.egg/requests/__init__.pyc'>
>>> 

如果import失败,请前往上级目录并搜索文件。

即使执行了“pip install requests”命令,仍然返回相同的错误。我需要更改任何路径变量以确保Python知道在哪里查找已安装的模块吗? - Dick Lucas
4
这在Python 3.4.0上无法运行,但我刚刚安装了Python 2.7.6,可以导入requests库。有什么方法可以将requests库专门安装到“/Library/Python/3.4/”中吗? - Dick Lucas
需要使用 pip3 install 而不是 pip install - aroma

0

我之前也遇到过同样的问题,我通过在应用程序的虚拟环境中安装 requests 而不是全局 Python 环境来解决了这个问题。命令如下:

python3 -m venv tutorial-env
tutorial-env\Scripts\activate.bat
pip install request

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接