首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于语法错误,Apache Airflow initdb命令失败

由于语法错误,Apache Airflow initdb命令失败
EN

Stack Overflow用户
提问于 2019-07-11 02:19:31
回答 1查看 3K关注 0票数 0

我已经使用virtualenv -p $(which python3) ENV为python3创建了virtualenv

然后激活源source /Users/myusername/ENV/bin/activate

安装apache-airflow:

代码语言:javascript
复制
pip install apache-airflow

然后which airflow会生成/Users/myusername/ENV/bin/airflow,但当我尝试使用以下命令初始化数据库时:

代码语言:javascript
复制
airflow initdb

我得到下面的错误:

代码语言:javascript
复制
    {db.py:350} INFO - Creating tables
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
WARNI [airflow.utils.log.logging_mixin.LoggingMixin] cryptography not found - values will not be stored encrypted.
ERROR [airflow.models.DagBag] Failed to import: /Library/Python/2.7/site-packages/airflow/example_dags/example_http_operator.py
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/airflow/models/__init__.py", line 413, in process_file
    m = imp.load_source(mod_name, filepath)
  File "/Library/Python/2.7/site-packages/airflow/example_dags/example_http_operator.py", line 27, in <module>
    from airflow.operators.http_operator import SimpleHttpOperator
  File "/Library/Python/2.7/site-packages/airflow/operators/http_operator.py", line 21, in <module>
    from airflow.hooks.http_hook import HttpHook
  File "/Library/Python/2.7/site-packages/airflow/hooks/http_hook.py", line 23, in <module>
    import tenacity
  File "/Library/Python/2.7/site-packages/tenacity/__init__.py", line 375, in <module>
    from tenacity.tornadoweb import TornadoRetrying
  File "/Library/Python/2.7/site-packages/tenacity/tornadoweb.py", line 24, in <module>
    from tornado import gen
  File "/Library/Python/2.7/site-packages/tornado-6.0.3-py2.7-macosx-10.14-intel.egg/tornado/gen.py", line 126
    def _value_from_stopiteration(e: Union[StopIteration, "Return"]) -> Any:
                                   ^
SyntaxError: invalid syntax
Done.
(ENV) ---------------------------------------------------------

看起来示例脚本使用的是python2.7,它不能识别函数定义语法。apache-airflow包是否需要在下一个版本中修复,或者我可以做些什么来修复这个问题?我尝试修复这个问题:使用python2.7而不是python3,然后在默认的python2.7上安装airflow,但是这会抛出其他错误,比如包"six“不兼容。

EN

回答 1

Stack Overflow用户

发布于 2019-07-13 20:09:22

要解决此问题,需要关闭要在配置文件中加载的示例DAG。

无论如何,当你告诉airflow是安装在Python3虚拟环境中时,它使用的是2.7Python,这似乎很奇怪。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56976527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档