我已经在普通机器上设置了 Conda 环境。它工作正常。我想在一台无法访问互联网的机器上克隆这个环境(我只能通过 SSH 进入)。
我最初的想法是压缩 Conda 留下的包缓存并将其移动到气隙机器上的适当位置:
conda create --offline --use-local -n my_env pkg1 pkg2 pkg3 etc
这行不通。它提示说包或其依赖项在我移至这台机器上的集合之间存在不兼容性。添加 --force
和/或 --no-deps
没有任何区别。
我想做的是:
conda env create --offline --use-local -f EXPORTED_ENV.yaml -n my_env
...其中 EXPORTED_ENV.yaml
是在常规机器上创建的,因为——至少在传闻中——我认为 Conda 只是处理它在这种情况下给出的内容,而不是试图解决依赖图。但是,env create
没有--offline
、--use-local
或--no-deps
标志;如果没有,它会坚持尝试(并且失败)将包下载到气隙机器上,即使它们位于包缓存中也是如此。
有没有办法强制 conda create
忽略冲突或让 conda env create
从本地缓存安装?
(n.b.,This question 类似,但它似乎专门用于安装 pip
的软件包,因此接受的答案侧重于将其作为替代方案。然而,我的环境主要是非-pip
-基于。)
最佳答案
我用 conda pack
解决了这个问题
关于conda - 在气隙机器上克隆 Conda 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60603764/