【问题标题】:Add Miniconda binaries to path in Docker container将 Miniconda 二进制文件添加到 Docker 容器中的路径
【发布时间】:2019-07-05 07:05:01
【问题描述】:

我在我的 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

【问题讨论】:

    标签: python docker anaconda


    【解决方案1】:

    export 不起作用。试试ENV

    替换

    RUN export PATH="~/miniconda3/bin:$PATH"
    

    与

    ENV PATH="~/miniconda3/bin:$PATH"
    

    【讨论】:

    • 能不能加RUN echo $(ls ~/miniconda3/bin)看看pip是否安装在~/miniconda3/bin中?
    • 是的,确认已安装。
    • 您在pip 命令上收到的错误信息是什么? No such file or directory.
    • 是的,这就是我得到的
    • 请尝试 echo $PATH 并发布 echo ls 和 PATH 的结果。用 pip 错误消息更新问题。
    【解决方案2】:

    即使 Miniconda 位于 ~,除非另有说明,否则它默认安装到根目录。

    这是正确的命令。

    RUN export PATH="/root/miniconda3/bin:$PATH"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-16
      • 2022-07-16
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      • 2018-12-21
      • 1970-01-01
      • 2016-04-16
      相关资源
      最近更新 更多