Conda 后链接脚本不运行



>有谁知道如何在使用conda构建时执行链接后脚本?根据 conda 文档,您可以在食谱中添加一个名为.<name>-post-link.bat的文件,但它不会告诉您将其放在哪里。我尝试了几个位置,即使构建成功,在安装软件包时,脚本也没有运行。也许我误解了链接后脚本的作用,但我的印象是它应该在用户安装您的软件包后运行。

bioconda 文档指出These scripts may be added at the same level as meta.yaml and build.sh,但这对我不起作用。我也尝试了<recipe_dir>scripts目录,但这也不起作用。

conda 构建测试建议在meta.yaml中显式命名您的脚本,但这也没有奏效。

我的脚本非常简单 - 它只是将 dll 从一个目录复制到另一个目录。这实际上是 Python 在运行测试时导入错误版本的 sqlite 的一种解决方法,所以也许我根本不需要构建后脚本,并且有更好的方法可以做到这一点。

我尝试运行的命令是copy %LIBRARY_BIN%sqlite3.dll %BUILD_PREFIX%DLLs /y,所以让我知道是否可以让它作为安装的一部分运行。

后链接脚本在 Linux 上为我工作,如下所示: 在配方文件夹(与meta.yaml相同级别(中创建一个名为 post-link.sh 的文件并构建配方。conda 安装负责将文件重命名为.package-name-post-link.sh并将其放置在正确的路径中,以便在安装后执行。在我的例子中,~/anaconda3/envs/env_name/bin。

或者,您也可以将文件作为 build.sh 脚本的一部分手动复制到 $PREFIX/bin。

最新更新