Airflow initdb在Amazon Linux中失败

kee*_*kee 8 python sqlalchemy python-2.x airflow

我正在尝试在EC2(Amazon Linux)中安装Airflow,并且“ airflow initdb”失败并出现以下错误:

$ AIRFLOW_HOME=/var/lib/airflow airflow initdb
[2019-09-07 20:51:32,416] {__init__.py:51} INFO - Using executor SequentialExecutor
Traceback (most recent call last):
  File "/bin/airflow", line 22, in <module>
    from airflow.bin.cli import CLIFactory
  File "/usr/lib/python2.7/site-packages/airflow/bin/cli.py", line 68, in <module>
    from airflow.www_rbac.app import cached_app as cached_app_rbac
  File "/usr/lib/python2.7/site-packages/airflow/www_rbac/app.py", line 26, in <module>
    from flask_appbuilder import AppBuilder, SQLA
  File "/usr/lib/python2.7/site-packages/flask_appbuilder/__init__.py", line 5, in <module>
    from .base import AppBuilder
  File "/usr/lib/python2.7/site-packages/flask_appbuilder/base.py", line 5, in <module>
    from .api.manager import OpenApiManager
  File "/usr/lib/python2.7/site-packages/flask_appbuilder/api/__init__.py", line 11, in <module>
    from marshmallow_sqlalchemy.fields import Related, RelatedList
  File "/usr/lib/python2.7/site-packages/marshmallow_sqlalchemy/__init__.py", line 1, in <module>
    from .schema import TableSchemaOpts, ModelSchemaOpts, TableSchema, ModelSchema
  File "/usr/lib/python2.7/site-packages/marshmallow_sqlalchemy/schema.py", line 101
    class TableSchema(ma.Schema, metaclass=TableSchemaMeta):
                                      ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

由于这是语法错误,我怀疑marshmallow_sqlalchemy与SQLAlchemy之间存在版本冲突。这是它们的版本:

apache-airflow==1.10.5
Flask==1.1.1
Flask-SQLAlchemy==2.4.0
marshmallow==2.20.3
marshmallow-enum==1.5.1
marshmallow-sqlalchemy==0.19.0
SQLAlchemy==1.3.8
Run Code Online (Sandbox Code Playgroud)

任何的想法?

小智 23

看起来marshmallow-sqlalchemy版本已升级,这就是为什么出现此错误的原因。卸载当前版本-

pip卸载棉花糖-sqlalchemy

并尝试安装以下版本,那么您应该一切顺利。

pip安装棉花糖-sqlalchemy = = 0.17.1

我也面临着类似的问题,但是现在可以通过相同的方式解决。 希望这可以帮助!

  • Marshmallow-SQLAlchemy 0.18.0 是支持 Python 2.7 的最后一个版本:https://github.com/marshmallow-code/marshmallow-sqlalchemy/blob/dev/CHANGELOG.rst (2认同)