首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用conda-build创建包时如何精确使用Perl版本

使用conda-build创建包时如何精确使用Perl版本
EN

Stack Overflow用户
提问于 2019-06-28 14:46:11
回答 1查看 1.2K关注 0票数 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

Doc 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版本的方法.

我试着:

代码语言:javascript
复制
$ conda-build <path_to_perl_module>/recipe --perl=5.18.2

我还试图在meta.yaml文件中添加一些需求部分的Perl规范。

代码语言:javascript
复制
requirements:
  host:
    perl >=5.18.2

但在这两种情况下(我还试图用相同的结果更改需求的run/build部分),当我在conda环境中安装包时,控制台提示:

代码语言:javascript
复制
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下载Perl5.18.2包并以某种方式将其链接到meta.yaml文件中?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-03 14:17:11

我已经找到了解决问题的办法。但我不确定这是不是正确的方法。

我在这里下载Perl5.18.2的conda包:https://anaconda.org/Nersc/perl/files

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

代码语言:javascript
复制
requirements:
  run:
    perl x.x

我把包裹放进了我的定制频道。然后使用conda-build <path_to_Perl_module>/recipe/ --perl=5.18.2创建包。当我使用conda instal <perl_module>安装软件包时,我得到了以下输出:

代码语言:javascript
复制
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中提供的最新Perl版本。

我希望它能帮助你,如果你被困在同一问题上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56808969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档