如何为conda构建perl模块的导入?

时间:2018-05-15 18:02:52

标签: python perl anaconda conda

每当我尝试为conda(example)构建任何perl配方时,我都会遇到以下类型的错误:

$ conda build /home/conda/recipes/perl-module-build/
+ source /home/conda/miniconda2/bin/activate /home/conda/miniconda2/conda-bld/perl-module-build_1526324675451/_t_env
+ /home/conda/miniconda2/conda-bld/perl-module-build_1526324675451/_t_env/bin/python -s /home/conda/miniconda2/conda-bld/perl-module-build_1526324675451/test_tmp/run_test.py
  File "/home/conda/miniconda2/conda-bld/perl-module-build_1526324675451/test_tmp/run_test.py", line 2
    import Module::Build
                 ^
SyntaxError: invalid syntax
TESTS FAILED: perl-module-build-0.4224-pl5.20.3_0

run_test.py的内容都是导入语句:

$ cat /home/conda/miniconda2/conda-bld/perl-module-build_1526324675451/test_tmp/run_test.py 
print("import: u'Module::Build'")
import Module::Build

问题似乎是Python对import语句有疑问,但我不确定我应该做什么,因为我发现我发现的所有perl配方在meta.yaml文件中都使用了相同的行(可以看到上面例子here)的完整meta.yaml,即

test:
    imports:
        - Module::Build

我错过了什么?我在CentOS6的Docker镜像上运行conda-build版本2.1.10和python2.7,原因与计算集群兼容性有关。如果需要,我可以提供图像和命令。

1 个答案:

答案 0 :(得分:0)

自答案:

这是conda中的一个错误,后来修补了:https://github.com/conda/conda-build/issues/1967

而不是将meta.yaml解析Perl导入测试语句作为Perl,而是将它们解析为Python。