Ошибка версии пакетов python: RequestsDependencyWarning: urllib3 (1.7.1) или chardet (2.0.1) не соответствует поддерживаемой версии

Я новичок в Python и пытаюсь запустить https://github.com/epinna/tplmap.

требования.txt

PyYAML==3.12
certifi==2017.11.5
chardet==3.0.4
idna==2.6
requests==2.18.4
urllib3==1.22
wsgiref==0.1.2

После загрузки проекта с Github я запускаю sudo pip intall -r requirements.txt, и когда я пытаюсь запустить файл tplmap.py, я получаю эту ошибку.

$ ./tplmap.py -u 'localhost:3000'
/usr/local/lib/python2.7/dist-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.7.1) or chardet (2.0.1) doesn't match a supported version!
      RequestsDependencyWarning)
    Traceback (most recent call last):
      File "./tplmap.py", line 3, in <module>
        from core import checks
      File "/home/amion/Desktop/tplmap-master/core/checks.py", line 20, in <module>
        from core.channel import Channel
      File "/home/amion/Desktop/tplmap-master/core/channel.py", line 1, in <module>
        import requests
      File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 90, in <module>
        from urllib3.exceptions import DependencyWarning
    ImportError: cannot import name DependencyWarning

Я смотрю на файл /usr/local/lib/python2.7/dist-packages/requests/__init__.py и вижу:

# urllib3 >= 1.21.1, <= 1.22
# chardet >= 3.0.2, < 3.1.0

Если я запускаю заморозку пипа, я вижу:

chardet==3.0.4
requests==2.18.4
urllib3==1.22

Я не понимаю это сообщение, откуда берутся эти номера версий? что мне не хватает?

 RequestsDependencyWarning: urllib3 (1.7.1) or chardet (2.0.1) doesn't match a supported version!

person ruit    schedule 22.03.2019    source источник
comment
попробуйте запустить pip install -r requirements.txt без sudo   -  person wpercy    schedule 22.03.2019
comment
@wpercy Я удалил все требования и установил их без sudo и с параметром --user после удаления urlib3 и chardet из /usr/lib/python2.7/dist-packages, и это сработало.   -  person ruit    schedule 22.03.2019


Ответы (1)


Я удалил каталоги urlib3 и chardet из /usr/lib/python2.7/dist-packages.

Затем я удалил все требования из файла requirements.txt и снова установил их без sudo и с опцией --user

cd /usr/lib/python2.7/dist-packages
sudo rm -r urllib3/
sudo rm -r chardet/

cd /home/amion/Desktop/tplmap-master
sudo pip uninstall -r requirements.txt 
pip install -r requirements.txt --user

Кажется, tplmap.py пытался работать с urllib3 и chardet из каталога

/usr/lib/python2.7/dist-packages

а не из справочника

/usr/local/lib/python2.7/dist-packages
person ruit    schedule 22.03.2019