我想在笔记本电脑上创建一个可以部署到我的集群的conda环境。为此,我想要两件事:
/path/to/myenv/bin/python ...
我希望conda-create中有一些选项来指定如下所示的体系结构:
conda create --arch=linux-64 ...
对于可重新部署,我尝试使用--copy
选项来避免硬链接,并且此似乎可以正常工作,至少在简单情况下如此。是否存在这种方法失败的案例或常见软件包?我还可以做其他事情来提高效率,或者当包依赖于环境之外的文件时发出警告吗?
答案 0 :(得分:2)
目前,conda没有直接的方法来为任意架构创建环境。我也不确定它到底有多可行。对于绝大多数软件包来说,它只是一个元数据,并且完全可行。但是,对于二进制包,我们(有时)必须替换嵌入在二进制文件中的前缀。由于它是用Python(https://github.com/conda/conda/blob/9c1750349b4c1d66a9caf95d21a9edf90e1eb9cf/conda/install.py#L250-L271)完成的,我认为它会起作用 - 但如果有任何机会不能理解二进制文件(例如Mac创建Linux环境),这可能会破坏。 / p>
我们当然可以破解PoC,看看它是如何工作的。
除了一些真正的核心系统库(例如glibc)之外,软件包确实不应该依赖于外部文件。在构建时警告人员会是一件好事,但我认为这不是安装时间问题。