我正在尝试使用here描述的方法
Docker文件
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/*
关于python - 为什么在Dockerfile中使用requirements.txt中的 pip `install_requires`从setup.py安装 “.”失败?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63595467/