python - 如何测试从为 conda 构建 perl 模块的导入?
问题描述
每当我尝试为 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
都是import语句:
$ 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对于上面的例子),即
test:
imports:
- Module::Build
我错过了什么?由于与计算集群兼容性有关的原因,我正在使用 CentOS6 的 Docker 映像上运行 conda-build 版本 2.1.10 和 python2.7。如果需要,我可以提供图像和命令。
解决方案
自我回答:
这是 conda 中的一个错误,后来被修补:https ://github.com/conda/conda-build/issues/1967
不是将meta.yaml
Perl 的导入测试语句解析为 Perl,而是将它们解析为 Python。
推荐阅读
- docker - Docker-compose 弹性栈无容器标签
- string - 在 Dart 中使用字符串检索类参数
- python - Python中的Matlab函数等价
- java - 递归调用的数组被覆盖
- linux - 为什么 find piped to xargs mv 删除了我的文件?
- php - 如何自动运行包的作曲家脚本
- c - 在具有 const 成员的结构上使用 memcpy 是否安全?
- jenkins - 如何通过詹金斯中的特定变更集编号下载源代码?
- php - 文档已移动 - Android Studio
- java - 在杰克逊中使用@JsonCreator 进行反序列化时,是否可以确定要构造的类型?