没有名为 urllib3 的模块

问题描述 投票:0回答:10

我上周编写了一个调用 API 的脚本并成功运行了它。这周,它不会运行。我收到以下错误消息:

Traceback (most recent call last):
  File "user_audit.py", line 2, in <module>
    import requests
  File "c:\Python27\lib\site-packages\requests\__init__.py", line 60, in <module>
    from .packages.urllib3.exceptions import DependencyWarning
  File "c:\Python27\lib\site-packages\requests\packages\__init__.py", line 29, in <module>
    import urllib3
ImportError: No module named urllib3

我已确认软件包是最新的,尝试卸载并重新安装它,但到目前为止没有任何效果。有人可以帮忙吗?

附录

我按照@MSHossain的建议安装了urllib3,但随后又收到了另一个错误消息。新消息引用了我编写的另一个文件,该文件创建了一个 Python 编译文件。另一个文件正在使用 smptlib 尝试发送电子邮件。我不明白这是如何发生的,但我删除了另一个文件,并且我的脚本运行没有任何问题。我已经接受了下面的答案,因为我能够 pip install urllib3,但它应该已经包含在 requests 模块中。

python xml python-2.7 urllib3
10个回答
19
投票

要么是urllib3没有导入,要么是没有安装。

要导入,请使用

import urllib3

位于文件顶部。要安装请写:

pip install urllib3

进入终端。

可能是你没有正确激活环境变量。 要激活环境变量,请写入

source env/bin/activate

进入终端。这里

env
是环境变量名称。


6
投票

我已经安装了。通过运行解决了它

pip install --upgrade urllib3

希望它对某人有帮助:)


5
投票
pip install urllib3 

它崩溃的原因是我安装了不兼容版本的

urllib3
作为
awscli
的临时依赖项。当您重新运行安装时,您会看到此类冲突。


3
投票

我通过运行解决了这个问题

pip install --upgrade requests

2
投票

通过编写 source env/bin/activate 如果找不到 env 来设置环境,先写 virtualenv env 然后写 source env/bin/activate ,然后检查 pip freeze 如果找不到 urllib3 则重新安装 urllib3 ,希望有帮助。


0
投票

几分钟前,我遇到了同样的问题。这是因为,我使用了虚拟环境。我相信由于 venv 目录的原因,安装的 pip 可能已停止工作。

幸运的是,我已经将安装程序下载到我的目录中。我运行了设置并选择了修复选项,现在一切正常。


0
投票

对于我来说,在 PyCharm 中,我必须将

import urllib3
放在文件顶部,如前所述,然后 PyCharm 提供导入选项。即使安装后也有
pip


0
投票

重新安装 urllib3 解决了我的问题。运行:

pip uninstall urllib3
pip install urllib3

0
投票

为了完整起见。这意味着您正在使用的 python 安装没有安装该软件包,请确保您使用的 python 安装与您正在安装的软件包相同

对我来说,发生的事情是我有一个用 pyenv 制作的虚拟环境,即使虚拟环境安装了该软件包并且是最新版本,也找不到它,因为不知何故使用了底层 python 安装,而不是那个我安装了 urllib3 的地方。

解决方案:使用Python二进制文件的绝对路径

/home/[username]/.pyenv/versions/[envname]/bin/python python-script.py

0
投票

为在 Amazon Linux 2023 上遇到以下错误的任何人添加我的两分钱:

urllib3
要解决此问题,我必须使用 

awscli-2
 卸载 
$ aws Traceback (most recent call last): File "/usr/bin/aws", line 19, in <module> import awscli.clidriver File "/usr/lib/python3.9/site-packages/awscli/clidriver.py", line 21, in <module> import botocore.session File "/usr/lib/python3.9/site-packages/awscli/botocore/session.py", line 27, in <module> import botocore.client File "/usr/lib/python3.9/site-packages/awscli/botocore/client.py", line 16, in <module> from botocore import UNSIGNED, waiter, xform_name File "/usr/lib/python3.9/site-packages/awscli/botocore/waiter.py", line 17, in <module> from botocore.docs.docstring import WaiterDocstring File "/usr/lib/python3.9/site-packages/awscli/botocore/docs/__init__.py", line 15, in <module> from botocore.docs.service import ServiceDocumenter File "/usr/lib/python3.9/site-packages/awscli/botocore/docs/service.py", line 13, in <module> from botocore.docs.bcdoc.restdoc import DocumentStructure File "/usr/lib/python3.9/site-packages/awscli/botocore/docs/bcdoc/restdoc.py", line 15, in <module> from botocore.compat import OrderedDict File "/usr/lib/python3.9/site-packages/awscli/botocore/compat.py", line 31, in <module> from urllib3 import exceptions ModuleNotFoundError: No module named 'urllib3'

:

urllib3
然后从 rpm 卸载 

pip
(这也会卸载 
$ pip uninstall urllib3

):

urllib3
之后,只需使用 

awscli
 手动安装 
$ sudo dnf autoremove python3-urllib3

:

python3-urllib3
要测试 

dnf
 是否安装正确,只需运行(可选):

$ sudo dnf install python3-urllib3

最后通过

urllib3
安装
$ python3 -c "import urllib3; print(urllib3.__version__)"

awscli-2
我的理论是,将 

dnf
$ sudo dnf install awscli-2

一起使用可能会弄乱依赖关系,因为

pip
是由系统使用的。
    

© www.soinside.com 2019 - 2024. All rights reserved.