将Miniconda二进制文件添加到Docker容器中的路径

时间:2019-07-05 07:05:01

标签: python docker anaconda

我在Dockerfile中使用以下命令来安装Miniconda。安装后,我想使用~/miniconda3/binpython之类的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

2 个答案:

答案 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"