好的,长期的JS开发人员,此处为psuedo-new Python开发人员。我在团队的仓库中使用conda已有一段时间了,我对某些依赖行为感到困惑。我不确定这是否是最佳做法,但我们在environment.yml
中包括了次级依赖。
在Node.js领域中,您显然没有这样做,并且Node知道要解决此问题(通过根据需要安装每个辅助dep的副本数),因此每个人都有〜8TB node_modules
。另一方面,Conda似乎只允许~/opt/pkgs/
中每个部门的一个副本(如果您使用的是Mac,则是Windows中的~/anaconda/pkgs/
),如果您对某些版本有不同的依赖性和严格的要求。
所以,我的主要问题是:我应该在我的environment.yml
中包括我拥有的所有依赖项(顶级,次级等等)吗?什么是最佳做法?
我的第二个问题是为什么Conda用这种方式解决依赖关系?每个人都有巨大的硬盘驱动器,在过去的十年中,我从未遇到过无法处理一个依赖项的两个不同副本的硬盘驱动器。
在此先感谢所有资源/帮助/意见/侮辱。