首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为脱机conda环境安装创建存档

为脱机conda环境安装创建存档
EN

Stack Overflow用户
提问于 2017-08-24 11:03:07
回答 1查看 1.3K关注 0票数 4

我目前面临着这个问题:我们开发了一个Python项目,我们目前部署了一个完整的Anaconda发行版。

我们希望通过创建一个可以共享的自定义环境来使其更加个性化。我们选择使用Conda作为合适的工具。

我已经研究过如何使用*.yml文件在Conda中创建和导出环境,但是在安装时,这需要通过internet连接来下载包和文件。

还有另一种方法来创建比如说,一个已经包含了环境所需的所有文件的归档文件。,然后我们可以传递包含所有依赖项的归档文件。如何实现这一目标?

如果你能把我引向正确的方向,那也会很有帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-08-23 13:38:51

我还没有尝试过构造函数,但我看到了另外两种选择,即

康达包

康达包允许您打包已安装的环境。

对于已安装的环境,运行s.th。喜欢

代码语言:javascript
复制
conda pack \
  -n MyEnv \
  -o MyEnv.tbz2 \
  --format tbz2 \
  --compress-level 9 \
  --n-threads 4

您将得到一个.tbz2文件(或您所选择的任何存档/压缩)。将其复制到目标位置并运行

代码语言:javascript
复制
mkdir $envBaseDir/MyEnv    
# The directory name is the environment name.
cd $envBaseDir/MyEnv
tar -xf /path/to/MyEnv.tbz2
source bin/activate
conda unpack

这些步骤不需要网络访问(尝试关闭我的网络)。

两个最相关的注意事项似乎是

  1. 使用conda unpack创建的环境不能再次打包。所以保存原始档案。
  2. 您不能为非常旧的环境创建(新的)存档,因为环境的包的包缓存需要存在。

请注意,我没有从旧档案中重新创建(conda unpack)环境的经验。这些档案实际上只包含安装在您的envs/MyEnv环境目录中的内容,因此在某些情况下,Conda环境可能过于分散。这可能限制归档环境的可重现性。所以..。

容器

您可以在容器中创建环境。这种解决方案有许多缺点。

  • 使用容器的陡峭学习曲线(创建和运行容器)。您将在搜索引擎中找到许多使用Conda的Dockerfile教程和示例。
  • 如果希望在多用户集群环境中运行容器,请与您的安全管理员进行讨论。
  • 相当大的容器

但取决于你的需求,这些缺点可能会被超乎寻常的好的(很可能是更长期的)可再现性所压倒。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45859945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档