我目前面临着这个问题:我们开发了一个Python项目,我们目前部署了一个完整的Anaconda发行版。
我们希望通过创建一个可以共享的自定义环境来使其更加个性化。我们选择使用Conda作为合适的工具。
我已经研究过如何使用*.yml文件在Conda中创建和导出环境,但是在安装时,这需要通过internet连接来下载包和文件。
还有另一种方法来创建比如说,一个已经包含了环境所需的所有文件的归档文件。,然后我们可以传递包含所有依赖项的归档文件。如何实现这一目标?
如果你能把我引向正确的方向,那也会很有帮助。
发布于 2021-08-23 13:38:51
我还没有尝试过构造函数,但我看到了另外两种选择,即
康达包
康达包允许您打包已安装的环境。
对于已安装的环境,运行s.th。喜欢
conda pack \
-n MyEnv \
-o MyEnv.tbz2 \
--format tbz2 \
--compress-level 9 \
--n-threads 4您将得到一个.tbz2文件(或您所选择的任何存档/压缩)。将其复制到目标位置并运行
mkdir $envBaseDir/MyEnv
# The directory name is the environment name.
cd $envBaseDir/MyEnv
tar -xf /path/to/MyEnv.tbz2
source bin/activate
conda unpack这些步骤不需要网络访问(尝试关闭我的网络)。
两个最相关的注意事项似乎是
conda unpack创建的环境不能再次打包。所以保存原始档案。请注意,我没有从旧档案中重新创建(conda unpack)环境的经验。这些档案实际上只包含安装在您的envs/MyEnv环境目录中的内容,因此在某些情况下,Conda环境可能过于分散。这可能限制归档环境的可重现性。所以..。
容器
您可以在容器中创建环境。这种解决方案有许多缺点。
但取决于你的需求,这些缺点可能会被超乎寻常的好的(很可能是更长期的)可再现性所压倒。
https://stackoverflow.com/questions/45859945
复制相似问题