docker 内的“Pip install -r /code/requirements.txt”引发错误

问题描述 投票:0回答:1

所以,我在 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"]

我该怎么办?

python docker pip
1个回答
0
投票

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
© www.soinside.com 2019 - 2024. All rights reserved.