警告:
venv/lib/python3.11/site-packages/requests/__init__.py:109: RequestsDependencyWarning: urllib3 (2.2.1) or chardet (2.3.0)/charset_normalizer (3.3.2) doesn't match a supported version!
环境:Docker、Ubuntu。从 Dockerfile 构建。
相关 Dockerfile 行:
RUN apt-get update
RUN apt-get install -y python3 python3-pip python3-venv libcairo2-dev pkg-config python3-dev tesseract-ocr ffmpeg poppler-utils libportaudio2 swig libpulse-dev libpango1.0-dev
RUN apt-get clean
# Use the virtual environment
RUN python3 -m venv /usr/src/app/venv
# Install dependencies from requirements.txt
RUN /usr/src/app/venv/bin/pip install --no-cache-dir --upgrade --force-reinstall -r /usr/src/app/requirements.txt
要求:
wheel
# -- Problematic section --
requests
urllib3>=2.1.0
charset_normalizer
# -------------------------
为简洁起见,省略其他要求。
无论是否使用
requests
模块,都会显示警告。
在线阅读和其他StackOverflow线程,一致认为更新
requests
库可以解决问题,但我使用的是最新版本(2.31.0),警告仍然存在。
最初,这是我在 Dockerfile 中的
pip install
行:
RUN /usr/src/app/venv/bin/pip install --no-cache-dir -r /usr/src/app/requirements.txt
我添加了
--upgrade
和 --force-reinstall
标志,但没有效果。
这可能是我忽略的某个库的问题,但总共有 95 个,而且许多可能不相关。
在安装需求之前升级 pip 解决了问题:
RUN /usr/src/app/venv/bin/pip install --upgrade pip setuptools
RUN /usr/src/app/venv/bin/pip install --no-cache-dir --upgrade --force-reinstall -r /usr/src/app/requirements.txt```