我尝试导入请求:

import requests

但我得到一个错误:

ImportError:没有模块命名请求


当前回答

您必须确保请求模块未安装在较新版本的python中。

使用python 3.7时,运行python文件,如下所示:

python3 myfile.py

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

python3

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

其他回答

遵循本教程:

$ pipenv install requests
Installing requests...
Adding requests to Pipfile's [packages]...
 Installation Succeeded 
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Building requirements...
Resolving dependencies...
 Success! 
Updated Pipfile.lock (a290a1)!
Installing dependencies from Pipfile.lock (a290a1)...
   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/0 — 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
$ pipenv shell
Launching subshell in virtual environment...
 . /home/[user]/.local/share/virtualenvs/[id]/bin/activate
$ python3
Python 3.10.5 (main, Jul  5 2022, 00:20:23) [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> response = requests.get('https://httpbin.org/ip')
>>> print('Your IP is {0}'.format(response.json()['origin']))
Your IP is xx.xxx.xx.xxx

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

如果您通过pip安装了urllib3,并且通过yum安装了请求,那么即使您安装了正确的软件包,也会遇到问题。如果您通过yum安装了urllib3,并且通过pip安装了请求,则同样适用。以下是我解决问题的方法:

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的系统。

来源:这个问题(在对这个答案的评论中)。这个github问题。

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

如果是Python3,解决方案是sudopip3安装请求

尽管我安装了几次“requests”,但还是出现了同样的错误。问题是我在全局Python环境中安装请求,而不是在应用程序虚拟环境中。在虚拟环境中安装请求后,错误消失了。因此,这里有一篇关于如何在应用程序虚拟环境中安装“请求”的好书:虚拟环境和软件包

您必须确保请求模块未安装在较新版本的python中。

使用python 3.7时,运行python文件,如下所示:

python3 myfile.py

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

python3

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