andreax79/airflow-code-editor

Airflow Code Dag Editor 2.4.0 does not work with Airflow version 1.10.11

Closed this issue · 3 comments

I am getting this error when I install the airflow_code_editor (v 2.4.) with airflow (1.10.11) - any ideas how to resolve?
Thanks in advance.

$ airflow version
[2020-10-30 12:59:54,616] {plugins_manager.py:112} ERROR - Failed to import plugin airflow_code_editor
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/airflow/plugins_manager.py", line 106, in load_entrypoint_plugins
    plugin_obj = entry_point.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2323, in load
    self.require(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2346, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 783, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (attrs 19.3.0 (/usr/local/lib/python3.6/dist-packages), Requirement.parse('attrs>=20.1.0'), {'cattrs'})

Traceback (most recent call last):
  File "/usr/local/bin/airflow", line 26, in <module>
    from airflow.bin.cli import CLIFactory
  File "/usr/local/lib/python3.6/dist-packages/airflow/bin/cli.py", line 94, in <module>
    api_module = import_module(conf.get('cli', 'api_client'))  # type: Any
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/local/lib/python3.6/dist-packages/airflow/api/client/local_client.py", line 24, in <module>
    from airflow.api.common.experimental import delete_dag
  File "/usr/local/lib/python3.6/dist-packages/airflow/api/common/experimental/delete_dag.py", line 26, in <module>
    from airflow.models.serialized_dag import SerializedDagModel
  File "/usr/local/lib/python3.6/dist-packages/airflow/models/serialized_dag.py", line 33, in <module>
    from airflow.serialization.serialized_objects import SerializedDAG
  File "/usr/local/lib/python3.6/dist-packages/airflow/serialization/serialized_objects.py", line 28, in <module>
    import cattr
  File "/usr/local/lib/python3.6/dist-packages/cattr/__init__.py", line 1, in <module>
    from .converters import Converter, GenConverter, UnstructureStrategy
  File "/usr/local/lib/python3.6/dist-packages/cattr/converters.py", line 16, in <module>
    from attr import fields, resolve_types
ImportError: cannot import name 'resolve_types'

I tried updating attrs to 20.2.0 but then got this error with airflow.

$ airflow version
[2020-10-30 12:48:56,337] {plugins_manager.py:112} ERROR - Failed to import plugin airflow_code_editor
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/airflow/plugins_manager.py", line 106, in load_entrypoint_plugins
    plugin_obj = entry_point.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2323, in load
    self.require(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2346, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 783, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (attrs 20.2.0 (/usr/local/lib/python3.6/dist-packages), Requirement.parse('attrs~=19.3'), {'apache-airflow'})
Traceback (most recent call last):
  File "/usr/local/bin/airflow", line 26, in <module>
    from airflow.bin.cli import CLIFactory
  File "/usr/local/lib/python3.6/dist-packages/airflow/bin/cli.py", line 94, in <module>
    api_module = import_module(conf.get('cli', 'api_client'))  # type: Any
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/local/lib/python3.6/dist-packages/airflow/api/client/local_client.py", line 24, in <module>
    from airflow.api.common.experimental import delete_dag
  File "/usr/local/lib/python3.6/dist-packages/airflow/api/common/experimental/delete_dag.py", line 26, in <module>
    from airflow.models.serialized_dag import SerializedDagModel
  File "/usr/local/lib/python3.6/dist-packages/airflow/models/serialized_dag.py", line 33, in <module>
    from airflow.serialization.serialized_objects import SerializedDAG
  File "/usr/local/lib/python3.6/dist-packages/airflow/serialization/serialized_objects.py", line 28, in <module>
    import cattr
  File "/usr/local/lib/python3.6/dist-packages/cattr/__init__.py", line 1, in <module>
    from .converters import Converter, GenConverter, UnstructureStrategy
  File "/usr/local/lib/python3.6/dist-packages/cattr/converters.py", line 18, in <module>
    from ._compat import (
  File "/usr/local/lib/python3.6/dist-packages/cattr/_compat.py", line 31, in <module>
    from typing import get_args, get_origin  # NOQA
ImportError: cannot import name 'get_args'

Fixed by downgrading Airflow DAG Code Editor to v 2.2.3

I'm having the same error as @haridev Airflow
airflow@ip-172-31-6-198:/airflow$ airflow version
Traceback (most recent call last):
File "/usr/local/bin/airflow", line 26, in
from airflow.bin.cli import CLIFactory
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/bin/cli.py", line 94, in
api_module = import_module(conf.get('cli', 'api_client')) # type: Any
File "/usr/lib/python3.6/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/api/client/local_client.py", line 24, in
from airflow.api.common.experimental import delete_dag
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/api/common/experimental/delete_dag.py", line 26, in
from airflow.models.serialized_dag import SerializedDagModel
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/models/serialized_dag.py", line 35, in
from airflow.serialization.serialized_objects import SerializedDAG
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/serialization/serialized_objects.py", line 28, in
import cattr
File "/home/airflow/.local/lib/python3.6/site-packages/cattr/init.py", line 1, in
from .converters import Converter, GenConverter, UnstructureStrategy
File "/home/airflow/.local/lib/python3.6/site-packages/cattr/converters.py", line 16, in
from attr import fields, resolve_types
ImportError: cannot import name 'resolve_types'
airflow@ip-172-31-6-198:
/airflow$ airflow version
Traceback (most recent call last):
File "/usr/local/bin/airflow", line 26, in
from airflow.bin.cli import CLIFactory
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/bin/cli.py", line 94, in
api_module = import_module(conf.get('cli', 'api_client')) # type: Any
File "/usr/lib/python3.6/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/api/client/local_client.py", line 24, in
from airflow.api.common.experimental import delete_dag
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/api/common/experimental/delete_dag.py", line 26, in
from airflow.models.serialized_dag import SerializedDagModel
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/models/serialized_dag.py", line 35, in
from airflow.serialization.serialized_objects import SerializedDAG
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/serialization/serialized_objects.py", line 28, in
import cattr
File "/home/airflow/.local/lib/python3.6/site-packages/cattr/init.py", line 1, in
from .converters import Converter, GenConverter, UnstructureStrategy
File "/home/airflow/.local/lib/python3.6/site-packages/cattr/converters.py", line 16, in
from attr import fields, resolve_types
ImportError: cannot import name 'resolve_types'

It is probably a dependencies problem. Please try using the dependencies defined in https://raw.githubusercontent.com/apache/airflow/constraints-1.10.11/constraints-3.6.txt

pip install apache-airflow==1.10.11 --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-1.10.11/constraints-3.6.txt"

pip list output is the following:

Package Version


alembic 1.4.2
apache-airflow 1.10.11
apispec 1.3.3
argcomplete 1.12.0
attrs 19.3.0
Babel 2.8.0
bcrypt 3.1.7
cached-property 1.5.1
cattrs 1.0.0
certifi 2020.6.20
cffi 1.14.0
chardet 3.0.4
click 6.7
colorama 0.4.3
colorlog 4.0.2
configparser 3.5.3
croniter 0.3.34
cryptography 2.9.2
defusedxml 0.6.0
dill 0.3.2
dnspython 1.16.0
docutils 0.16
email-validator 1.1.1
Flask 1.1.2
Flask-Admin 1.5.4
Flask-AppBuilder 2.3.4
Flask-Babel 1.0.0
Flask-Bcrypt 0.7.1
Flask-Caching 1.3.3
Flask-JWT-Extended 3.24.1
Flask-Login 0.4.1
Flask-OpenID 1.2.5
Flask-SQLAlchemy 2.4.4
flask-swagger 0.2.13
Flask-WTF 0.14.3
funcsigs 1.0.2
future 0.18.2
graphviz 0.14.1
gunicorn 19.10.0
idna 2.10
importlib-metadata 1.7.0
iso8601 0.1.12
itsdangerous 1.1.0
Jinja2 2.10.3
json-merge-patch 0.2
jsonschema 3.2.0
lazy-object-proxy 1.5.0
lockfile 0.12.2
Mako 1.1.3
Markdown 2.6.11
MarkupSafe 1.1.1
marshmallow 2.21.0
marshmallow-enum 1.5.1
marshmallow-sqlalchemy 0.23.1
natsort 7.0.1
numpy 1.19.0
pandas 1.0.5
pendulum 1.4.4
pip 20.2.4
prison 0.1.3
psutil 5.7.0
pycparser 2.20
Pygments 2.6.1
PyJWT 1.7.1
pyrsistent 0.16.0
pyspark 2.3.1
python-daemon 2.2.4
python-dateutil 2.8.1
python-editor 1.0.4
python-nvd3 0.15.0
python-slugify 4.0.1
python3-openid 3.2.0
pytz 2020.1
pytzdata 2020.1
PyYAML 5.3.1
requests 2.24.0
setproctitle 1.1.10
setuptools 46.1.3
six 1.15.0
SQLAlchemy 1.3.18
SQLAlchemy-JSONField 0.9.0
SQLAlchemy-Utils 0.36.8
tabulate 0.8.7
tenacity 4.12.0
text-unidecode 1.3
thrift 0.13.0
typing 3.7.4.3
typing-extensions 3.7.4.2
tzlocal 1.5.1
unicodecsv 0.14.1
urllib3 1.25.9
Werkzeug 0.16.1
wheel 0.34.2
WTForms 2.3.1
zipp 3.1.0
zope.deprecation 4.4.0