我正在研究别人编写的Python脚本。我正在尝试使其在我的本地开发计算机上运行而没有任何问题。
我已经安装了脚本所需的模块(请求,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
的旧版本。
从变更日志中:
尝试使用更新模块
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
关于python - 在Python 2.7中导入 'urllib3.util'失败?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23361432/