Как проверить импорт из сборки модулей Perl для Conda? - PullRequest
0 голосов
/ 15 мая 2018

Всякий раз, когда я пытаюсь создать какие-либо рецепты perl для conda ( пример ), я получаю следующий тип ошибки:

$ 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 для примера выше здесь ), то есть

test:
    imports:
        - Module::Build

Чего мне не хватает? Я использую conda-build версии 2.1.10 и python2.7 на образе Docker с CentOS6 по причинам, связанным с совместимостью вычислительных кластеров. Я могу предоставить изображение и команды при необходимости.

1 Ответ

0 голосов
/ 16 мая 2018

Self-ответ:

Это была ошибка в conda, которая была исправлена ​​позже: https://github.com/conda/conda-build/issues/1967

Вместо meta.yaml синтаксического анализа операторов проверки импорта Perl как Perl, он анализировал их как Python.

...