ModuleNotFoundError:没有名为“urllib3.exceptions”的模块;“urllib3”不是一个包

Dr.*_*gon 6 python urllib3 python-requests

我正在使用以下代码从 REST API 获取数据:

\n\n
import requests\nimport json\n\nkey = "my service key"\n\napi = "http://api.data.go.kr/openapi/pblprfr-event-info-std?serviceKey=", key, "&s_page=1&s_list=100&type=json"\n\n\nr = requests.get(api)\n\ndata = json.loads(r.text)\n\nprint(data["\xed\x96\x89\xec\x82\xac\xeb\xaa\x85"]) \n
Run Code Online (Sandbox Code Playgroud)\n\n

此代码产生以下错误:

\n\n
\n

文件“sel2.py”,第 1 行,位于 <module> 中

\n\n
import requests\n
Run Code Online (Sandbox Code Playgroud)\n\n

文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/ init .py”,第 46 行,位于 <module> 中

\n\n
from .exceptions import RequestsDependencyWarning\n
Run Code Online (Sandbox Code Playgroud)\n\n

文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/exceptions.py”,第 9 行,位于 <module> 中

\n\n
from urllib3.exceptions import HTTPError as BaseHTTPError\n
Run Code Online (Sandbox Code Playgroud)\n\n

ModuleNotFoundError:没有名为“urllib3.exceptions”的模块;\'urllib3\' 不是一个包

\n
\n\n

有什么想法可能是什么问题吗?

\n

not*_*bit 8

最有可能的是您的requests安装或其依赖项中的某些内容已损坏。对我来说以下解决了这个问题:

# Yeah, do them one-at-a-time, in case of errors:
pip uninstall urllib3
pip install --no-cache-dir -U urllib3
pip uninstall chardet
pip install --no-cache-dir -U chardet
Run Code Online (Sandbox Code Playgroud)