如何测试为 conda 构建 perl 模块的导入?
how to test imports from building perl modules for 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
个文件(可以查看上面示例的完整 meta.yaml here),即
test:
imports:
- Module::Build
我错过了什么?我是 运行 conda-build 版本 2.1.10 和 python2.7 在 CentOS6 的 Docker 图像上,原因与计算集群兼容性有关。如果需要,我可以提供图像和命令。
自答:
这是 conda 中的一个错误,后来修复了:https://github.com/conda/conda-build/issues/1967
不是 meta.yaml
将 Perl 导入测试语句解析为 Perl,而是将它们解析为 Python。
每当我尝试为 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
个文件(可以查看上面示例的完整 meta.yaml here),即
test:
imports:
- Module::Build
我错过了什么?我是 运行 conda-build 版本 2.1.10 和 python2.7 在 CentOS6 的 Docker 图像上,原因与计算集群兼容性有关。如果需要,我可以提供图像和命令。
自答:
这是 conda 中的一个错误,后来修复了:https://github.com/conda/conda-build/issues/1967
不是 meta.yaml
将 Perl 导入测试语句解析为 Perl,而是将它们解析为 Python。