我在Dockerfile中使用以下命令来安装Miniconda。安装后,我想使用~/miniconda3/bin
和python
之类的conda
中的二进制文件。我尝试导出带有此新路径的PATH,但是随后的pip
命令失败(pip位于~/miniconda3/bin
中。
奇怪的是,如果我在交互式终端模式下运行容器,则路径设置正确,并且能够按预期调用二进制文件。似乎问题仅在于构建容器本身时。
FROM ubuntu:18.04
RUN apt-get update
RUN apt-get install -y python3.7
RUN apt-get install -y curl
RUN curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --output miniconda.sh
RUN bash miniconda.sh -b
RUN export PATH="~/miniconda3/bin:$PATH"
RUN pip install pydub # errors out when building
这是echo $PATH
~/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
这是我得到的错误
/bin/sh: 1: pip: not found
答案 0 :(得分:0)
export
不起作用。尝试ENV
替换
RUN export PATH="~/miniconda3/bin:$PATH"
使用
ENV PATH="~/miniconda3/bin:$PATH"
答案 1 :(得分:0)
即使Miniconda位于~
中,除非另有指定,否则它默认安装在根目录中。
这是正确的命令。
RUN export PATH="/root/miniconda3/bin:$PATH"