如何在“基础”中基于新安装更新conda虚拟环境?

加里马·辛格

我在WSL2上运行Ubuntu2.04。我已经使用conda安装了大多数软件包。

我使用conda创建了一个虚拟环境:“ PipInConda_DKU”,它是基础副本。我安装了pip,然后使用pip安装了开放式简历。

最近,我在环境(基础)中安装了Pytorch。有什么简单的方法可以更新其他“ PipInConda_DKU”?

梅尔

Conda CLI对此没有专用命令,但是有几种直接的方法可以执行此操作。请注意,已pip安装的软件包将不会被重复使用。最好的办法就是将其约束为相同的版本。

离线安装

非特定

最简单的事情可能只是将--offline标志添加到install命令:

conda install -n PipInConda_DKU --offline pytorch

如果其他所有软件包都与base中的软件包匹配,Conda很可能会解析为pytorch您安装到base的同一版本

具体

但是,不能保证。为了更加严格并匹配base中的确切软件包,您应该从base获取该信息,然后在安装时使用它来指定软件包的构建。

例如,我有包git在我的基地,并假设我想在不同的环境,相同的生成,FOO我会用

$ conda list -en base '^git$'
# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: osx-64
git=2.29.1=pl5262h1f02409_0

获取信息,然后

conda install -n foo --offline git=2.29.1=pl5262h1f02409_0

或者,作为一个班轮,有多个包(pkg1pkg2):

conda install -n foo --offline $(conda list -en base '^(pkg1|pkg2)$' | awk '$0 !~ /^#/')

通过YAML更新

如果一个人只想从另一个环境中的所有内容中获得一切,另一种选择是将源环境转储到YAML中,然后使用YAML更新目标。例如,假设foobar是我们的源和目标环境,分别是

conda env export -n foo > foo.yaml
conda env update -n bar -f foo.yaml

会将foo中的所有内容安装bar中

警告:该conda env update命令将改变环境,而不会提示用户查看更改。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章