Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python RequestsDependencyWarning:urllib3(1.25.2)或chardet(3.0.4)不';与支持的版本不匹配!修理_Python_Pip_Importerror_Archlinux - Fatal编程技术网

Python RequestsDependencyWarning:urllib3(1.25.2)或chardet(3.0.4)不';与支持的版本不匹配!修理

Python RequestsDependencyWarning:urllib3(1.25.2)或chardet(3.0.4)不';与支持的版本不匹配!修理,python,pip,importerror,archlinux,Python,Pip,Importerror,Archlinux,每当我运行带有请求的代码或执行pip安装时,我都会收到此消息 /usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.2) or chardet (3.0.4) doesn't match a supported version! RequestsDependencyWarning) 我尝试过升级chardet、urllib3和请求,但没有任何效果,

每当我运行带有请求的代码或执行pip安装时,我都会收到此消息

/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.2) or chardet (3.0.4) doesn't match a supported version!
  RequestsDependencyWarning)
我尝试过升级chardet、urllib3和请求,但没有任何效果,有人知道我如何解决这个问题吗


编辑:只需升级您的请求即可

  pip3 install requests

我在尝试运行docker compose时遇到此问题: urllib3(1.24.1)或chardet(3.0.4)与支持的版本不匹配

在我的例子中,我通过删除docker compose来解决:

sudo apt-get remove docker-compose
和安装:

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

我用计算机解决了这个问题

pip install --upgrade requests==2.20.1
如果您看到如下版本不兼容消息,您应该尝试其他版本。所有版本均为:

错误:docker compose 1.24.1有需求请求=2.11.0,!=2.12.2,!=2.18.0,=2.6.1,但您将有不兼容的请求2.21.0。

在我的情况下,升级请求不起作用。
pip3安装请求

我习惯于再次下载docker compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose
然后通过
sudo chmod+x/usr/bin/docker compose
修复此问题的正确命令是:

pip3安装--升级请求

我从
2.21.0
升级到
2.24.0
,错误消失了。

找到这个并在requests/init.py源文件中查找:
def check_兼容性(urllib3_版本、chardet_版本):
urllib3_version=urllib3_version.split('.'))
断言urllib3_版本!=['dev']#验证urllib3不是从git安装的。
#有时候,urllib3只报告其版本为16.1。
如果len(urllib3_版本)==2:
urllib3_version.append('0')
#检查urllib3的兼容性。
大调,小调,patch=urllib3#u版本#noqa:F811
大调,小调,补丁=int(大调),int(小调),int(补丁)
#urllib3>=1.21.1,=21
assert minor=3.0.2,<3.1.0!在这里
断言主==3
断言小调<1
断言补丁>=2

可能的副本无需指定版本,除非您需要。
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose
def check_compatibility(urllib3_version, chardet_version):
    urllib3_version = urllib3_version.split('.')
    assert urllib3_version != ['dev']  # Verify urllib3 isn't installed from git.

    # Sometimes, urllib3 only reports its version as 16.1.
    if len(urllib3_version) == 2:
        urllib3_version.append('0')

        # 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.24    !HERE!
        assert major == 1
        assert minor >= 21
        assert minor <= 24

        # 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    !HERE!
        assert major == 3
        assert minor < 1
        assert patch >= 2