导入模块的问题。 Python版本问题?

时间:2018-02-19 16:58:15

标签: python-3.x

我遇到以下问题。我继承了一个我需要使用的.py文件,但我显然使用了不同的python版本给作者。

from datetime import datetime

import json, requests, os, time, sys

from requests.packages.urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

我收到这些错误;

E1101:Module 'requests.packages' has no 'urllib3' member
E0401:Unable to import 'requests.packages.urllib3.exceptions'

任何帮助我指出错误方向的帮助都会很棒。

如果有帮助,我正在使用Python 3.6.4。

4 个答案:

答案 0 :(得分:0)

您安装了requests吗?

pip3 install --upgrade requests

请参阅How to fix ImportError: No module named packages.urllib3?

这里还提到了这个错误: https://github.com/thp/urlwatch/issues/159

  

我设法通过卸载系统pip(python3-pip)然后使用easy-install3重新安装最新的pip来解决Ubuntu 14.04上的这个问题。之后我能够升级请求(否则拒绝升级)。我还需要从/ usr / lib / python3 / dist-packages中手动删除urllib3和chardet。

     

总结:这个问题是由于使用安装了发行版的Python 3引起的,它运行了一个修补(过时)的pip,拒绝升级任何发行版安装的Python包。

看起来安装了旧版本的请求。 在macOS上我建议通过homebrew安装python以避免搞乱python的系统安装。

    brew install python3
    python3 -V
    pip3 install requests

答案 1 :(得分:0)

我意识到这有点老了,但是我遇到了同样的问题,发现在python3中可以使用 urllib3

因此,根据您的情况,而不是: from requests.packages.urllib3.exceptions import InsecureRequestWarning

使用: from urllib3.exceptions import InsecureRequestWarning

答案 2 :(得分:0)

这是一个直接的方法

from urllib3 import disable_warnings
from urllib3.exceptions import InsecureRequestWarning
    
VERIFY_HTTPS = False
    
if VERIFY_HTTPS is not True:
    disable_warnings(InsecureRequestWarning)

答案 3 :(得分:0)

我遇到了同样的问题,这就是最终在我的计算机上解决的问题:

requests.urllib3.disable_warnings()

将此命令放在导入请求之后的任何位置。