2

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

从头开始创建 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-build 的文档: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. 从以下网址下载 Perl 5.18.2 包:https : //www.cpan.org/src/README.html 并以某种方式将其链接到 meta.yaml 文件中?

4

1 回答 1

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 版本。

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

于 2019-07-03T14:17:11.243 回答