在 Python 2.7 中导入“urllib3.util”失败?

2023-11-26

我正在编写别人编写的 Python 脚本。我试图让它在我的本地开发计算机上运行而不会出现任何问题。

我已经安装了脚本所需的模块(requests、urllib3 和 oath2),但是我遇到了以下错误,我正在努力解决该错误;

Traceback (most recent call last):
  File "/home/saeed/ps4/scrape/run.py", line 2, in <module>
    import get_data as gd, time
  File "/home/saeed/ps4/scrape/get_data.py", line 8, in <module>
    import sys, oauth2, requests, json
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 58, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 25, in <module>
    from .compat import parse_http_list as _parse_list_header
  File "/usr/local/lib/python2.7/dist-packages/requests/compat.py", line 7, in <module>
    from .packages import chardet
  File "/usr/local/lib/python2.7/dist-packages/requests/packages/__init__.py", line 3, in <module>
    from . import urllib3
  File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/__init__.py", line 16, in <module>
    from .connectionpool import (
  File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 36, in <module>
    from .connection import (
  File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connection.py", line 43, in <module>
    from .util import (
ImportError: No module named util

脚本由三个文件组成; run.py、get_data.py 和 incr.py。 run.py 中的 import 语句为:

import get_data as gd, time

在 get_data.py 中:

import sys, oauth2, requests, json

在 incr.py 中:

import time

我假设我必须安装一个名为“util”的模块。我搜索了这个模块但找不到它,因此我认为这似乎是一个更深层次的问题,而不仅仅是安装模块。

如果有人能指出我解决问题的正确方向,我将非常感激。我正在使用Python 2.7.3。


安装损坏

如果由于某种原因您安装的 urllib3 未能包含util子模块,您可以简单地从 pypi 页面下载存档并将 util 文件夹从那里复制到您的 urllib3 安装位置。

过时的 urllib3

您发布的错误是说在urllib3的相对进口util正在失败。

我检查了urllib3网站,并且很可能您有旧版本urllib3.

从变更日志:

1.8.2 (2014-04-17)

修复 urllib3.util 未包含在包中的问题。

尝试使用以下命令更新模块

sudo pip install urllib3 --upgrade

(或您机器上的同等内容)

选择

它可能失败的第二个原因是如果您尝试从模块内运行代码。这通常被认为是危险的,应该避免。

确认您正在加载哪个模块

通过启动 python 解释器并检查模块的位置来查看模块的位置urllib3模块正在加载;

python -c "import urllib3; print urllib3.__file__"

同样你可以检查版本:

python -c "import urllib3; print urllib3.__version__"

人工检查您还可以检查以确保util子模块存在于正确的位置;

ls /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 2.7 中导入“urllib3.util”失败? 的相关文章

随机推荐