首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有一种优雅的方法让conda在码头建造过程中安装第三方的golang包吗?

有一种优雅的方法让conda在码头建造过程中安装第三方的golang包吗?
EN

Stack Overflow用户
提问于 2021-10-05 00:09:02
回答 1查看 225关注 0票数 1

我正在为s/w开发准备一个对接映像w/ Ubuntuv18.04。我包括miniconda来管理开发环境,这都是很棒的。I 使用YAML文件创建环境

代码语言:javascript
复制
RUN conda env create --file goDev.yml

我还希望在码头启动时激活conda环境。这样做有点棘手,必须首先初始化b/c conda,但是JaegerP提供了一个很好的解决这里方法,包括更新.bashrc (谢谢)。

不幸的是,我还需要将第三方YAML包安装到golang。我必须激活环境来安装软件包,所以它让我回到了JaegerP帮助我克服的最初问题:在初始化环境之前,我无法激活它,而且在对接构建b/c期间,我无法初始化,我必须重新启动shell。

换句话说,它很好地工作:

运行conda env创建-file goDev.yml && rm goDev.yml 源/opt/conda/etc/profile.d/conda.sh“ &回声"conda activate go_dev“>> ${HOME}/.bashrc

启动对接程序时,将激活所需的conda环境,不幸的是,未安装外部YAML包。这不能工作b/c,在初始化和初始化要求重新启动shell之前,无法激活conda环境:

运行conda env创建-file goDev.yml && rm goDev.yml && conda init bash && conda激活go_dev &&获取gopkg.in/yaml.v2 源/opt/conda/etc/profile.d/conda.sh“ &回声"conda activate go_dev“>> ${HOME}/.bashrc

如果不存在该文件,我可以进一步更新.bashrc以安装YAML包:

代码语言:javascript
复制
/root/go/pkg/mod/cache/download/gopkg.in/yaml.v2

是否有一个更优雅的解决方案,使我能够安装一个第三方戈朗包在码头建设,而不是检查它每次运行图像?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-05 19:44:21

试试Conda Run

conda run函数提供了一种在环境上下文中运行代码的干净方法,而无需手动激活。试着做些像

代码语言:javascript
复制
RUN conda env create --file goDev.yml 
  && rm goDev.yml 
  && conda run -n go_dev go get gopkg.in/yaml.v2 
  && echo '. /opt/conda/etc/profile.d/conda.sh && conda activate go_dev' >> ${HOME}/.bashrc

另外,您可能希望结束所有涉及Conda的运行链。

代码语言:javascript
复制
conda clean -qafy

保持帮助最小化码头形象层的大小。

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

https://stackoverflow.com/questions/69443569

复制
相关文章

相似问题

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