dockerfile 中激活conda并安装package

遇错的dockerfile写法:

bash 复制代码
WORKDIR /tmp
RUN wget "https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh" -O ~/miniconda.sh \
    && bash ~/miniconda.sh -b -p $HOME/miniconda \
    && ~/miniconda/bin/conda init $(echo /bin/bash | awk -F '/' '{print $NF}')

RUN echo yes | $HOME/miniconda/bin/conda create -n textgen python=3.10.9 \
    && $HOME/miniconda/bin/conda activate textgen \
    && pip install git+https://github.com/huggingface/transformers.git@9eae4aa57650c1dbe1becd4e0979f6ad1e572ac0 \
    && pip install SentencePiece

遇到的错误:

bash 复制代码
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

解决办法:

bash 复制代码
WORKDIR /tmp
RUN wget "https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh" -O ~/miniconda.sh \
    && bash ~/miniconda.sh -b -p $HOME/miniconda \
    && ~/miniconda/bin/conda init bash
ENV PATH=/root/miniconda/bin:$PATH
RUN echo yes | conda create -n textgen python=3.10.9
SHELL ["conda", "run", "-n", "textgen", "/bin/bash", "-c"]
RUN python --version && pip install git+https://github.com/huggingface/transformers.git@9eae4aa57650c1dbe1becd4e0979f6ad1e572ac0 \
    && pip install SentencePiece
SHELL ["/bin/bash", "-c"]

参考:Activating a Conda environment in your Dockerfile (pythonspeed.com)

相关推荐
m0_7269659813 小时前
关于conda
开发语言·python·conda
蛐蛐蛐15 小时前
在openEuler(昇腾平台)上基于Conda安装CANN和PyTorch的完整过程
人工智能·pytorch·conda
MonkeyKing_sunyuhua1 天前
CondaError: Run ‘conda init‘ before ‘conda activate‘
conda
踏过山河,踏过海1 天前
【如何在cmd中使用conda】
conda
王小义笔记4 天前
WSL(Linux)如何安装conda
linux·运维·conda
赖亦无4 天前
【水动力学】06 Linux + Conda 环境下源码编译安装 pypims (CUDA加速) 避坑指南
linux·运维·conda·pypims·水动力学
Uncertainty!!5 天前
docker打包本地conda虚拟环境并远程部署
docker·容器·conda
kishu_iOS&AI5 天前
Conda 简要说明与常用指令
python·安全·conda
呆呆小孩5 天前
Anaconda 被误删抢救手册:从绝望到重生
python·conda
大连好光景5 天前
conda管理包还是pip管理包
python·conda·pip