我尝试导入请求:

import requests

但我得到一个错误:

ImportError:没有模块命名请求


当前回答

在过去几个月里,我有过几次这样的问题。我还没有看到发布的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问题。

其他回答

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

Python 2.x-默认

sudo pip install requests

Python 3.x

sudo pip3 install requests

如果您命中了pip安装请求,并且已经满足了Requirement的输出消息,但仍然会收到错误:ImportError:No module named requests。

当您发现自己处于不同的口译员/虚拟环境中时,可能会发生这种情况。

您可以将模块的路径复制并附加到工作环境中。注意:此路径通常带有消息Requirement already confirmed

在导入请求之前,应该导入sys,然后追加复制的路径。

例子:命令提示符:pip安装请求输出:已满足要求:/usr/local/lib/python3.9/site-packages中的请求

import sys
sys.path.append("/usr/local/lib/python3.9/site-packages")
import requests 

在命令提示符(Windows)或终端(Linux/macOS)中键入此命令:

pip install requests

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

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

我的答案与@pi-k基本相同。在我的案例中,我的程序在本地运行,但未能在QA服务器上构建。(我怀疑devops的包的旧版本被阻止了,我的版本肯定太过时了)我刚刚决定升级所有的东西

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