簡體   English   中英

為什么使用點“.”從 setup.py 安裝 `install_requires` 在 Dockerfile 中的 requirements.txt 失敗?

[英]Why does installing `install_requires` from setup.py using a dot “.” in the requirements.txt fail in Dockerfile?

我正在嘗試使用此處描述的方法

文件

FROM python:3.8

COPY requirements.txt setup.py /tmp/
RUN pip3 install -r /tmp/requirements.txt \
    && rm /tmp/*

這失敗了:

Step 1/7 : FROM python:3.8
 ---> 79cc46abd78d
Step 2/7 : COPY requirements.txt setup.py /tmp/
 ---> Using cache
 ---> a50a0a8ecb06
Step 3/7 : RUN pip3 install -r /tmp/requirements.txt     && rm /tmp/*
 ---> Running in c7d29bd8f23c
ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.toml'
 found.

我還嘗試注釋掉RUN命令,進入容器並手動運行pip3 install -r /tmp/requirements.txt 這工作沒有錯誤。

我不知道這里可能有什么問題。

我想到了:

. 不是相對於requirements.txt而是相對於當前工作目錄。 當我手動執行它時,它工作的原因是,我還將我的工作區安裝到 devcontainer 中,並且在這個工作區中有我的工作目錄,其中還包含setup.py

因此,解決方案是做這樣的事情:

WORKDIR /tmp
COPY requirements.txt setup.py ./
RUN pip3 install -r requirements.txt \
    && rm /tmp/*

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM