Исходники сборки conda из локального архива

conda build поддерживает множество методов для импорта исходного кода, который будет использоваться в сборке, как описано здесь. Есть ли способ импортировать исходный код из локального архивного файла (.zip,.tar.gz и т. Д.)? Я попытался указать местоположение файла архива, используя путь: параметр, который используется для указания на локальный источник; однако файл архива перемещается в рабочий каталог сборки без разархивирования. Я могу явно распаковать архив; однако это требует от меня явного указания имени файла в файле сборки, что нежелательно по ряду причин. Есть ли способ импортировать исходный код из локального архивного файла и автоматически распаковывать его в рабочий каталог, как это делается для файлов, импортированных через спецификации url и fn?

1 ответ

Решение

Вы можете попробовать использовать file:// протокол в url поле:

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

В Windows можно попробовать:

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

Расширяя предыдущий ответ, URL-адрес file:// должен быть абсолютным, но вы можете использовать переменные jinja2, чтобы исправить это. Например, если вы можете найти файл относительно каталога рецептов, вы можете написать что-то вроде:

source:
    url: file://{{RECIPE_DIR}}/../src/mypkgsrc.tar.bz2
Другие вопросы по тегам