我正在尝试构建一个可移植的conda
环境。
因此,我们可以打包并将其分发到其他服务器或以后的许多服务器。
我们在其中构建环境以及稍后将其部署的地方是两个不同的地方。
我注意到conda create
和conda install
都位于environment_path\bin
下所有已安装脚本的硬编码环境位置中,是否可以替代?
我们必须使用部署位置,而不必在shebang bin/
脚本中为该环境构建位置。
还创建了https://github.com/conda/conda/issues/7861
免责声明:我知道使用导出的yaml文件重建环境的选项,但这不是我们在这里查找的内容。我们希望使conda环境可以作为二进制tarball重新分发/移植-部署位置已知,但与环境构建位置不同。
答案 0 :(得分:2)
我刚刚发现conda-pack
似乎可以直接解决此问题
https://github.com/conda/conda-pack
conda-pack
是用于创建可重定位conda的命令行工具 环境。这对于以一致的方式部署代码很有用 环境,可能位于python / conda不在的位置 已经安装。
文档:https://conda.github.io/conda-pack/
用例:
更新:我们的其他PySpark应用程序在所有Hadoop节点(NFS挂载)上都可用的位置上使用conda
环境,它在某些conda环境中非常适用没有大量的依赖关系。
答案 1 :(得分:1)
包裹已保存在<conda_root>/pkgs
中。您可以将这些文件(以及anaconda安装程序脚本)复制到部署服务器,安装anaconda,然后运行conda install <path_to_pkgs>/*.bz2
。