所以,我在 docker 镜像中运行此命令:
pip install --no-cache-dir --upgrade -r /code/requirements.txt
它会引发以下警告,然后出现错误:
> [5/7] RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt:
17.75 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/fastapi/
33.39 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/fastapi/
49.51 WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/fastapi/
66.64 WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/fastapi/
85.77 WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/fastapi/
100.9 ERROR: Could not find a version that satisfies the requirement fastapi==0.110.0 (from versions: none)
100.9 ERROR: No matching distribution found for fastapi==0.110.0
------
Dockerfile:11
--------------------
9 |
10 | RUN pip install --upgrade pip
11 | >>> RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
12 |
13 | COPY ./ /code/src
--------------------
ERROR: failed to solve: process "/bin/sh -c pip install --no-cache-dir --upgrade -r /code/requirements.txt" did not complete successfully: exit code: 1
如果我在 docker 外部使用命令安装
requierments.txt
,所有库都已安装,但在 docker 内部会导致错误。
完整的 docker 文件:
FROM python:3.11
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
WORKDIR /code/src
COPY ./requirements.txt /code/requirements.txt
RUN pip install --upgrade pip
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
COPY ./ /code/src
ENV PYTHONPATH /code/src
RUN chmod a+x run.sh
CMD ["./run.sh"]
我该怎么办?
connection broken by ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")
此错误表明这是服务器超时错误。 你可以尝试增加
timeout
:
RUN pip install --no-cache-dir --upgrade --default-timeout=100 -r /code/requirements.txt