You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Steven Loria (Jira)" <ji...@apache.org> on 2019/09/06 19:24:00 UTC

[jira] [Commented] (AIRFLOW-5430) airflow initdb is broken on py2 and py3.5 due to transitive dependency

    [ https://issues.apache.org/jira/browse/AIRFLOW-5430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16924543#comment-16924543 ] 

Steven Loria commented on AIRFLOW-5430:
---------------------------------------

The issue is that Flask-Appbuilder is underspecifying it's dependency on marshmallow-sqlalchemy: https://github.com/dpgaspar/Flask-AppBuilder/blob/ab6030266ee01ec6d0114e13fd7316110a7620c2/setup.py#L61. marshmallow-sqlalchemy is pre-1.0, so users should expect breaking changes for middle version number bumps, i.e. the middle version should be treated as the major version.

> airflow initdb is broken on py2 and py3.5 due to transitive dependency 
> -----------------------------------------------------------------------
>
>                 Key: AIRFLOW-5430
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-5430
>             Project: Apache Airflow
>          Issue Type: Bug
>          Components: cli, core, database, dependencies
>    Affects Versions: 1.10.0, 1.10.1, 1.10.2, 1.10.3, 1.10.4, 1.10.5
>            Reporter: Max Gasner
>            Priority: Major
>
> marshmallow-sqlalchemy broke py2 and py3.5 compatibility in their 0.19.0 release.
>  
> Flask-AppBuilder's transitive dependency on marshmallow-sqlalchemy breaks all new installs of Airflow 1.10.0 and higher on py2 and py3.5 with one of the following syntax errors when running airflow initdb:
>  
> Traceback (most recent call last):
>  File "/workdir/python_modules/dagster-airflow/.tox/py35/bin/airflow", line 22, in <module>
>  from airflow.bin.cli import CLIFactory
>  File "/workdir/python_modules/dagster-airflow/.tox/py35/lib/python3.5/site-packages/airflow/bin/cli.py", line 68, in <module>
>  from airflow.www_rbac.app import cached_app as cached_app_rbac
>  File "/workdir/python_modules/dagster-airflow/.tox/py35/lib/python3.5/site-packages/airflow/www_rbac/app.py", line 26, in <module>
>  from flask_appbuilder import AppBuilder, SQLA
>  File "/workdir/python_modules/dagster-airflow/.tox/py35/lib/python3.5/site-packages/flask_appbuilder/__init__.py", line 5, in <module>
>  from .base import AppBuilder
>  File "/workdir/python_modules/dagster-airflow/.tox/py35/lib/python3.5/site-packages/flask_appbuilder/base.py", line 5, in <module>
>  from .api.manager import OpenApiManager
>  File "/workdir/python_modules/dagster-airflow/.tox/py35/lib/python3.5/site-packages/flask_appbuilder/api/__init__.py", line 11, in <module>
>  from marshmallow_sqlalchemy.fields import Related, RelatedList
>  File "/workdir/python_modules/dagster-airflow/.tox/py35/lib/python3.5/site-packages/marshmallow_sqlalchemy/__init__.py", line 1, in <module>
>  from .schema import TableSchemaOpts, ModelSchemaOpts, TableSchema, ModelSchema
>  File "/workdir/python_modules/dagster-airflow/.tox/py35/lib/python3.5/site-packages/marshmallow_sqlalchemy/schema.py", line 3, in <module>
>  from .convert import ModelConverter
>  File "/workdir/python_modules/dagster-airflow/.tox/py35/lib/python3.5/site-packages/marshmallow_sqlalchemy/convert.py", line 80
>  ):
>  ^
>  SyntaxError: invalid syntax
>  
> Traceback (most recent call last):
>  File "/workdir/python_modules/dagster-airflow/.tox/py27/bin/airflow", line 22, in <module>
>  from airflow.bin.cli import CLIFactory
>  File "/workdir/python_modules/dagster-airflow/.tox/py27/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 "/workdir/python_modules/dagster-airflow/.tox/py27/lib/python2.7/site-packages/airflow/www_rbac/app.py", line 26, in <module>
>  from flask_appbuilder import AppBuilder, SQLA
>  File "/workdir/python_modules/dagster-airflow/.tox/py27/lib/python2.7/site-packages/flask_appbuilder/__init__.py", line 5, in <module>
>  from .base import AppBuilder
>  File "/workdir/python_modules/dagster-airflow/.tox/py27/lib/python2.7/site-packages/flask_appbuilder/base.py", line 5, in <module>
>  from .api.manager import OpenApiManager
>  File "/workdir/python_modules/dagster-airflow/.tox/py27/lib/python2.7/site-packages/flask_appbuilder/api/__init__.py", line 11, in <module>
>  from marshmallow_sqlalchemy.fields import Related, RelatedList
>  File "/workdir/python_modules/dagster-airflow/.tox/py27/lib/python2.7/site-packages/marshmallow_sqlalchemy/__init__.py", line 1, in <module>
>  from .schema import TableSchemaOpts, ModelSchemaOpts, TableSchema, ModelSchema
>  File "/workdir/python_modules/dagster-airflow/.tox/py27/lib/python2.7/site-packages/marshmallow_sqlalchemy/schema.py", line 101
>  class TableSchema(ma.Schema, metaclass=TableSchemaMeta):
>  ^
>  SyntaxError: invalid syntax



--
This message was sent by Atlassian Jira
(v8.3.2#803003)