使用 conda-build 创建包时如何精确确定 Perl 版本
How to precise the Perl version when creating a package using conda-build
我正在尝试为我拥有的 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环境下安装包时(我也尝试更改需求的run/build部分结果相同),控制台提示:
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。我想我没有以正确的方式做,但文档并没有真正帮助我,或者我还没有找到相应的部分。
任何线索将不胜感激。
玩得开心 day/night !
编辑:
我能做什么?
使用我位于 usr/bin/Perl 的本地 Perl ?
从 https://www.cpan.org/src/README.html 下载 Perl 5.18.2 包并以某种方式将其链接到 meta.yaml 文件 ?
我找到了解决问题的办法。不过,我不确定这是正确的做法。
我在这里下载 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 版本
如果您遇到同样的问题,希望对您有所帮助。
我正在尝试为我拥有的 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环境下安装包时(我也尝试更改需求的run/build部分结果相同),控制台提示:
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。我想我没有以正确的方式做,但文档并没有真正帮助我,或者我还没有找到相应的部分。
任何线索将不胜感激。
玩得开心 day/night !
编辑: 我能做什么?
使用我位于 usr/bin/Perl 的本地 Perl ?
从 https://www.cpan.org/src/README.html 下载 Perl 5.18.2 包并以某种方式将其链接到 meta.yaml 文件 ?
我找到了解决问题的办法。不过,我不确定这是正确的做法。
我在这里下载 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.
如果您遇到同样的问题,希望对您有所帮助。