使用conda-build

时间:2019-06-28 14:46:11

标签: linux perl package conda conda-build

我正在尝试为已有的Perl模块创建一个软件包,然后将其放在本地通道中,以便能够将其安装在conda环境中。我正在尝试遵循conda文档,但是因为这是我第一次尝试这样做,所以我有点迷失了自己。

Doc从头开始创建conda软件包:https://docs.conda.io/projects/conda-build/en/latest/user-guide/tutorials/build-pkgs.html

了解meta.yaml文件的元数据的文档:https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-section

要进行conda构建的文档:https://conda.io/projects/conda-build/en/latest/resources/commands/conda-build.html

因此,首先我创建了一个包含meta.yaml文件和build.sh文件的配方。我的conda中包含的Perl版本是5.26.2。但是,Perl模块是用Perl 5.18.2编写的。我找不到修改Perl版本的方法...

我试图:

$ conda-build <path_to_perl_module>/recipe --perl=5.18.2

我还尝试在要求部分中将meta.yaml文件放入一些Perl规范。

requirements:
  host:
    perl >=5.18.2

但是在两种情况下(我也试图以相同的结果更改需求的运行/构建部分),当我在conda环境中安装软件包时,控制台提示:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    pmp-0.8.2_BSP              |                0           5 KB  file:///home/usr/BSP-channel
    ------------------------------------------------------------
                                           Total:           5 KB

The following NEW packages will be INSTALLED:

  libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
  perl               conda-forge/linux-64::perl-5.26.2-h516909a_1006
  pmp                BSP-channel/linux-64::pmp-0.8.2_BSP-0

如您所见,程序包管理器要安装Perl 5.26.2。我想我做的方法不正确,但是文档并不能真正帮到我,或者我还没有找到相应的部分。

任何线索都将不胜感激。

白天/晚上过得愉快!

编辑: 我该怎么办?

  1. 使用位于usr / bin / Perl中的本地Perl吗?

  2. https://www.cpan.org/src/README.html下载Perl 5.18.2软件包并以某种方式将其链接到meta.yaml文件中?

1 个答案:

答案 0 :(得分:1)

我找到了解决我问题的方法。我不确定这是否是正确的方法。

我在这里下载了Perl 5.18.2的conda软件包:https://anaconda.org/Nersc/perl/files

我还在meta.yaml中的需求字段中指出:

requirements:
  run:
    perl x.x

我将包裹放在我的自定义渠道中。然后,我使用conda-build <path_to_Perl_module>/recipe/ --perl=5.18.2创建包。当我使用conda instal <perl_module>安装软件包时,得到以下输出:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    perl-5.18.2                |                3        14.2 MB  file:///home/usr/BSP-channel
    pmp-0.8.2_BSP              |                0           5 KB  file:///home/usr/BSP-channel
    ------------------------------------------------------------
                                           Total:        14.2 MB

The following NEW packages will be INSTALLED:

  perl               BSP-channel/linux-64::perl-5.18.2-3
  pmp                BSP-channel/linux-64::pmp-0.8.2_BSP-0

如果我创建模块时未指出--perl=5.18.2,那么我们将在conda-forge中寻找可用的最新Perl版本。

如果您遇到同样的问题,希望对您有所帮助。