我正在尝试构建一个可移植的conda
环境。
所以我们可以打包并在以后将其分发到另一个或多个服务器。
我们构建环境的地方和以后部署环境的地方是两个不同的地方。
我注意到conda create
和{environment_path\bin
下所有已安装脚本的位置都硬编码到shebang中,有没有方法可以覆盖它?在
我们必须在shebangbin/
脚本中使用部署位置而不是为该环境构建位置。在
也创建了https://github.com/conda/conda/issues/7861
免责声明:我知道使用导出的yaml文件重建环境的选项,但这不是我们在这里看到的。我们希望将conda环境作为二进制tarball来进行可再分发/可移植-部署位置是已知的,但它与环境构建位置不同。在
包保存在
<conda_root>/pkgs
。您可以将这些文件(以及anaconda安装程序脚本)复制到部署服务器,安装anaconda,然后运行conda install <path_to_pkgs>/*.bz2
。在我刚发现
conda-pack
似乎直接解决了这个问题https://github.com/conda/conda-pack
文档:https://conda.github.io/conda-pack/
用例:
更新:我们的一些其他PySpark应用程序正在一个所有Hadoop节点(NFS挂载)上可用的位置上使用
conda
环境,它在一些没有大量依赖关系的conda环境中工作得非常好。在相关问题 更多 >
编程相关推荐