conda 从本地存档文件构建源代码

conda build source from local archive file

conda build 支持多种导入要在构建中使用的源的方法,如 here 所述。有没有办法从本地存档文件(.zip、.tar.gz 等)导入源代码?我试图使用用于指向本地源的 path: 选项来指定存档文件的位置;但是,归档文件在未解压缩的情况下被移动到构建工作目录中。我显然可以明确地解压存档;但是,这需要我在构建文件中明确指定文件名,出于多种原因这是不可取的。有没有一种方法可以从本地存档文件导入源代码并自动解压到工作目录,就像通过 url 和 fn 规范导入的文件一样?

您可以尝试在 url 字段中使用 file:// 协议:

source:
   url: file:///home/src/mypkgsrc.tar.bz2

在 Windows 上,可以尝试:

source:
   url: file://C:\path\to\mypkgsrc.tar.bz2

扩展上一个答案,file:// URL 必须是绝对的,但您可以使用 jinja2 变量来解决这个问题。例如,如果你能找到相对于食谱目录的文件,你可以这样写:

source:
    url: file://{{RECIPE_DIR}}/../src/mypkgsrc.tar.bz2