当前位置: 首页 > 面试题库 >

Python(pip)-RequestsDependencyWarning:urllib3(1.9.1)或chardet(2.3.0)与支持的版本不匹配

堵泽宇
2023-03-14
问题内容

我发现了几页有关此问题的页面,但没有一个解决了我的问题。

即使我做了:

pip show

我得到:

/usr/local/lib/python2.7/dist-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.9.1) or chardet (2.3.0) doesn't match a supported version!
  RequestsDependencyWarning)
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 480, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2691, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2322, in load
    return self.resolve()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2328, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 74, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 22, in <module>
    import requests, six
  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

我做了什么 :

pip install --upgrade chardet

但据解释,它给了我同样的错误。

所以我做了 :

sudo apt remove python-chardet

并释放他所有的依赖。重新安装后->相同:’(

我也做了同样的事情python-pip。重新安装后->相同。
以下是有关的行urllib3chardet所需的版本:的摘录/usr/local/lib/python2.7/dist- packages/requests/__init__.py

    # Check urllib3 for compatibility.
    major, minor, patch = urllib3_version  # noqa: F811
    major, minor, patch = int(major), int(minor), int(patch)
    # urllib3 >= 1.21.1, <= 1.22
    assert major == 1
    assert minor >= 21
    assert minor <= 22

    # Check chardet for compatibility.
    major, minor, patch = chardet_version.split('.')[:3]
    major, minor, patch = int(major), int(minor), int(patch)
    # chardet >= 3.0.2, < 3.1.0
    assert major == 3
    assert minor < 1
    assert patch >= 2


# Check imported dependencies for compatibility.
try:
    check_compatibility(urllib3.__version__, chardet.__version__)
except (AssertionError, ValueError):
    warnings.warn("urllib3 ({0}) or chardet ({1}) doesn't match a supported "
                  "version!".format(urllib3.__version__, chardet.__version__),
                  RequestsDependencyWarning)

我的版本是:

ii  python-urllib3 1.9.1-3   all HTTP library with thread-safe connection pooling for Python 
ii  python-chardet  2.3.0-1  all universal character encoding detector for Python2

我没有别的主意了…

谢谢大家,对不起我的英语:)


问题答案:

你有一个混合的设置(包括aptpip用来安装系统范围内,这是常见的),它确实不匹配,请求所需模块的支持版本(和PIP v1.5.6也相当大)。

requests(?哪个版本可能从剩下的pip install)要求:
urllib3:1.21.1 - 1.22
chardet的:3.0.2 - 3.1.0

您具有:
来自python-urllib3的urllib3(1.9.1)1.9.1-3 debian软件包
来自python-chardet的chardet(2.3.0)2.3.0-1 debian软件包

两种选择:

  • 可以requests从OS发行版降级到该版本(请参阅apt show python-requests参考资料),也可以从pypi.org降级到较旧的版本,或者

  • pip install在用户级别(--userpip安装选项)或在virtualenv中安装较新的urllib3和chardet(您可以从pipy.org手动下载wheel文件并对其进行处理,包括所有依赖项)。

您可以在virtualenv(apt show python- virtualenv)中测试所有内容。它甚至应该在其虚拟环境中为您部署更新的点子。也可以在用户级别(--user)上安装新的pip
10.0.1,并与操作系统提供的pip一起安装,但是您需要注意这一点。祝好运!



 类似资料:
  • 我已经改变了gradle构建工具版本版本和清洁项目,使项目,但不工作

  • 我试图编译GLSL着色器在LWJGL使用OpenGL。我在MacOS Sierra上。 尝试编译着色器时出现以下错误: 着色器代码在Windows上工作,但在macOS上测试时却不能。下面是着色器代码: 下面是我如何加载着色器。。。 print语句返回正确的输出,但它仍然给我错误。 我在stackoverflow上下搜索了一个解决方案,但每个人都说他们在编译它时没有换行符,我有。我不明白为什么会这

  • 问题内容: 我正在这样写我的文档测试: 这对于Python 2.5、2.6和2.7版本可以正常工作,但对于Python 3则失败,并出现以下错误: 问题是,如果我这样编写我的doctest: 它们仅适用于Python3,而在Python2版本上无效。我的问题是如何使其跨版本兼容? 问题答案: 我在IPython中遇到了与doctests相同的问题。没有整洁的解决方案,但是我将所有前缀都包装在中,即

  • 我看到GXT 2.3.0的jar文件名=gxt-2.3.0-gwt22.jar.这是否意味着它期待GWT 2.2??考虑到GXT 2.3.0于2013年10月发布,GWT 2.2.0于2011年2月发布(3年前),这似乎有点奇怪。我尝试了GWT 2.6.1,但在GXT jar中出现错误(HtmlEditor.java第548行:类型不匹配:无法从com.google.gwt.dom.client.

  • 我使用的是IntelliJ IDEA Ultimate 2019.3.1。每当我尝试启动任何简单的Java Maven项目(甚至可能是一个简单的Hello World)时,我都会得到以下错误: 通过终端运行,得到以下输出: 通过终端运行,得到以下输出: