python - 错误 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
如果我运行 pip freeze 我会看到:
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!
解决方案
我从 /usr/lib/python2.7/dist-packages 中删除了 urlib3 和 chardet 目录
然后我从 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
推荐阅读
- css - 清除后 Tailwind css 不会减小文件大小
- nginx - 如何最好的 RTMP 转发以克服高延迟
- excel - Excel 源工作簿未更新
- windows-server-2012 - Windows 事件查看器中的 Datadog 日志
- c++ - 函数调用的唯一标识符
- python - 生成 API 文档 - 不使用 Django Rest
- lightningchart - 鼠标悬停时获取轴值
- python - Twint 抓取:ClientPayloadError:响应负载未完成
- django - Django Form 和两个带外键的表单
- python - Discord.py .connect() 不工作(PyNaCl)