我已经在常规计算机上设置了Conda环境。它工作正常。我想在无法访问Internet的计算机上克隆此环境(我只能通过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
安装?
(nb,This question是相似的,但似乎特别与安装pip
的软件包有关,因此可接受的答案侧重于此。但是,我的环境主要基于非pip
。)
我用conda pack
解决了这个问题