gpt4 book ai didi

Python 请求 RequestsDependencyWarning 重新安装相同版本的库后消失

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:23 25 4
gpt4 key购买 nike

我正在使用 Dockerfile 在 docker 容器中构建 python 环境。其中一个级别是 pip 安装 requirements.txt 文件,其中包括以下库:

chardet==3.0.4
requests==2.22.0
urllib3==1.25.6

构建图像后,我创建一个容器实例并在其中运行以下命令:python -c "导入请求"给出以下输出:

/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.6) or chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)

很正常,但是如果我重新安装请求,pip install --upgrade requests --force-reinstall,并运行上面相同的 python 命令,我不会收到警告。

我可以在容器内再次检查每个库的版本,它们和以前完全一样:

chardet==3.0.4
requests==2.22.0
urllib3==1.25.6

那么为什么 requests 之前一直在发出错误,如果我的 Dockerfile 中没有悬空的重新安装级别,我如何才能确保这个警告不会出现在我的 Docker 镜像中?

当警告弹出时,在我的代码中使用 requests 时,到目前为止,我还没有发现任何不利影响,但是我宁愿它不存在,因为显然有什么东西触发了它。

我发现很多帖子/文章建议坚持重新安装 requests,但是我不希望在 Dockerfile 中有这个多余的步骤,除非它是解决问题的唯一方法警告。

有趣的是,重新安装 chardet 也会删除警告,但是重新安装 urllib3 不会。

-- 编辑--要求的 Dockerfile:

FROM centos:7

# Install external yum repositories
RUN yum install -y \
epel-release \
https://repo.ius.io/ius-release-el7.rpm \
&& yum clean all

# Install required rpm dependencies
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python get-pip.py
RUN yum install -y \
systemd-python.x86_64 \
git222 \
gcc \
python2-devel \
openldap-devel \
python-perf \
python-linux-procfs \
python-schedutils \
policycoreutils-python \
python-slip \
python-slip-dbus \
&& yum clean all

# Install required pip dependencies
ADD requirements.txt /home/admin/container_files/
RUN pip install setuptools==30.1.0
RUN pip install -r /home/admin/container_files/requirements.txt

# Final update of packages
RUN yum update -y && yum clean all

最佳答案

解决方法是将文件中的安装重新排序为:

chardet==3.0.4
urllib3==1.25.6
requests==2.22.0

现在 python -c "import requests" 将在第一次运行

我建议你搬家:

RUN yum update -y && yum clean all

到第二行,然后如果您编辑一些以后的代码,它将被缓存。

关于Python 请求 RequestsDependencyWarning 重新安装相同版本的库后消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58557369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com