首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >您的shell未被正确配置为在dockerfile上使用“conda activate”。

您的shell未被正确配置为在dockerfile上使用“conda activate”。
EN

Stack Overflow用户
提问于 2020-03-25 18:25:30
回答 2查看 7.7K关注 0票数 8

我正在用码头制造anaconda3环境。

但是,它显示了如下所示的错误。

我想这与一些壳问题有关。但我还不能修好。

代码语言:javascript
运行
复制
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'.

我的文件在这里。

代码语言:javascript
运行
复制
FROM ubuntu:18.04

RUN apt-get -y update
RUN apt-get -y install emacs wget
RUN wget https://repo.continuum.io/archive/Anaconda3-2019.07-Linux-x86_64.sh
RUN /bin/bash Anaconda3-2019.07-Linux-x86_64.sh -b -p $HOME/anaconda3
RUN echo 'export PATH=/root/anaconda3/bin:$PATH' >> /root/.bashrc 

#RUN source /root/.bashrc
RUN . /root/.bashrc
RUN /root/anaconda3/bin/conda init bash
RUN /root/anaconda3/bin/conda create -n py37 python=3.7 anaconda
RUN /root/anaconda3/bin/conda activate py37
EN

回答 2

Stack Overflow用户

发布于 2020-03-25 18:32:57

我相信您的问题可能是,您的.bashrc来源于一个独立的命令依赖它。来自Dockerfile文档

RUN指令将在当前映像之上的一个新层中执行任何命令,并提交结果。生成的提交的映像将用于Dockerfile的下一步。

这意味着您要在一个层(第一个.bashrc行)中搜索您的RUN,然后在一个新的层中搜索conda命令,该层对前一个层中的环境一无所知。

试着做这样的事情:

代码语言:javascript
运行
复制
RUN . /root/.bashrc && \
    /root/anaconda3/bin/conda init bash && \
    /root/anaconda3/bin/conda create -n py37 python=3.7 anaconda && \
    /root/anaconda3/bin/conda activate py37

通过在一行上运行它们,您将在一个层中运行它们。

票数 5
EN

Stack Overflow用户

发布于 2022-11-12 15:55:03

您也可以在相当容易的方式中这样做,如果在创建venv之后只在您的Dockerfile中放置一个命令SHELL ...,如下所示:

代码语言:javascript
运行
复制
FROM continuumio/anaconda3

WORKDIR /usr/src/app

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

COPY ./environment.yml .
RUN conda env create -f environment.yml
SHELL ["conda", "run", "-n", "venv", "/bin/bash", "-c"]

COPY . .

如果您想要将conda与修饰符-组合实用程序一起使用,这东西将帮助您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60855061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档