搜索后没有找到,我必须在这里问:
如何conda env
在幕后工作,这意味着 anaconda 如何处理环境?
为了澄清,我想要一个答案或参考以下问题:
康达环境
基本上,conda
环境复制系统的结构,这意味着它将存储/bin
, /lib
, /etc
, /var
等目录。这对于unix系统来说更明显,但是在windows下也是同样的概念(DLLs
, libs
, Scripts
,...)。
更多详细信息,请参见官方文档 https://conda.io/docs/user-guide/concepts.html.
康达安装
这个想法是conda install PACKAGE
将从中获取预编译包channel
(一个 conda 软件包存储库),并将其安装在这个类似系统的结构下。不依赖于系统依赖项,conda
将仅使用 conda 包在环境结构下安装此包的所有依赖项。
因此,在给定时间点在不同系统下安装相同的软件包应该会产生可靠的相同安装。
这是标准化二进制文件的一种方法,只有通过针对给定版本的库预编译每个包才能实现,这些库作为 conda 环境的依赖项提供。例如,conda-forge
and bioconda
通道依靠基于云的 CI/CD 管道在相同且完全干净的系统映像上编译所有包。
Conda 还存储有关这些包的元数据(版本、内部版本号、依赖项、许可证等),因此它能够解决相当复杂的依赖项树并避免包/库不兼容。它是Solving...
每次执行时的步骤conda install
.
康达激活
然后当你conda activate ENV
, conda 在前面添加环境根$CONDA_PREFIX/bin
to PATH
,以便系统可以找到环境中安装的所有可执行文件(并且会导致同一可执行文件的系统范围安装超载)。
你可以暂时想象一下替换系统可执行文件与环境中的可执行文件。
More
这是一个非常基本的解释,不是 100% 准确,当然也不完整。如果您想了解更多信息,请阅读文档,进行实验conda
,也许还可以深入了解如何康达锻造 https://conda-forge.org and Bioconda https://bioconda.github.io/构建包,因为一切都托管在 github 上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)