首页 > 解决方案 > Theano 编译在作曲家中失败

问题描述

将我的操作员推送到 Google Cloud Composer 后,我使用 PyMC3 的计算失败了。下面提供的错误。

我们尝试更新计算环境的 PyPI 包并查看日志。这显示了一些明显的错误,这似乎表明编译作业在云上失败。

当气流尝试解析我们的文件时会发生这种情况 - 导入失败。

Traceback (most recent call last): 

File "/opt/python3.6/lib/python3.6/site-packages/theano/gof/lazylinker_c.py", line 81, in <module> 
    actual_version, force_compile, _need_reload)) 

ImportError: Version check of the existing lazylinker compiled file. Looking for version 0.211, but found None. 

Extra debug information: force_compile=False, _need_reload=True
Traceback (most recent call last): 
File "/usr/local/lib/airflow/airflow/models.py", line 374, in 
    process_file m = imp.load_source(mod_name, filepath) 

File "/opt/python3.6/lib/python3.6/imp.py", line 172, in
    load_source module = _load(spec) 

File "<frozen importlib._bootstrap>", line 684, in 
    _load 

File "<frozen importlib._bootstrap>", line 665, in 
    _load_unlocked 

File "<frozen importlib._bootstrap_external>", line 678, in 
    exec_module 

File "<frozen importlib._bootstrap>", line 219, in 
    _call_with_frames_removed 

File "/home/airflow/gcs/dags/dag_abtesting/abtesting_orchestration.py", line 10, in <module> 
    from dag_abtesting.abtesting_tasks import task_analysis 

File "/home/airflow/gcs/dags/dag_abtesting/abtesting_tasks.py", line 16, in <module> 
    from dag_abtesting.task_bernoulli import task_analyse_bernoulli 

File "/home/airflow/gcs/dags/dag_abtesting/task_bernoulli.py", line 3, in <module> 
    from dag_abtesting.template_distributions import abstract_template_distribution, bernoulli_distribution 

File "/home/airflow/gcs/dags/dag_abtesting/template_distributions/bernoulli_distribution.py", line 6, in <module> 
    import pymc3 as pm 

File "/opt/python3.6/lib/python3.6/site-packages/pymc3/__init__.py", line 5, in <module> 
    from .distributions import * 

File "/opt/python3.6/lib/python3.6/site-packages/pymc3/distributions/__init__.py", line 1, in <module> 
    from . import timeseries 

File "/opt/python3.6/lib/python3.6/site-packages/pymc3/distributions/timeseries.py", line 1, in <module> 
    import theano.tensor as tt 

File "/opt/python3.6/lib/python3.6/site-packages/theano/__init__.py", line 110, in <module> 
    from theano.compile import ( 

File "/opt/python3.6/lib/python3.6/site-packages/theano/compile/__init__.py", line 12, in <module> 
    from theano.compile.mode import * 

File "/opt/python3.6/lib/python3.6/site-packages/theano/compile/mode.py", line 11, in <module> 
    import theano.gof.vm 

File "/opt/python3.6/lib/python3.6/site-packages/theano/gof/vm.py", line 674, in <module> 
    from . import lazylinker_c 

File "/opt/python3.6/lib/python3.6/site-packages/theano/gof/lazylinker_c.py", line 140, in <module> 
    preargs=args) 

File "/opt/python3.6/lib/python3.6/site-packages/theano/gof/cmodule.py", line 2396, in 
    compile_str (status, compile_stderr.replace('\n', '. '))) 

Exception: Compilation failed (return status=1): /usr/bin/ld: cannot find -lpython3.6m. collect2: error: ld returned 1 exit status.

在我看来,好像我在托管环境中遗漏了一些东西——可能是编译器?有人可以就下一步采取的行动提出建议吗?

标签: pythonairflowtheanopymc3google-cloud-composer

解决方案


推荐阅读