Запуск Airflow в Ubuntu 20.04 (TypeError: обязательное поле type_ignores отсутствует в модуле) - PullRequest
0 голосов
/ 18 июня 2020

Я новичок в воздушном потоке. Я установил воздушный поток на свой компьютер с Ubuntu. Ниже приведены сведения о моей среде. Ubuntu 20.04 LTS Python 3.8 pip 20.0.2 airflow 1.10.10

Я могу инициализировать базу данных воздушного потока, выполнив команду airflow initdb. Но когда я пытаюсь запустить сервер, используя airflow webserver -p 8080, я получаю ошибку ниже. Любая помощь будет заметна.

Я запустил команду в режиме суперпользователя (su).

    root@SKR-PC:/home/skr# sudo airflow webserver -p 8080
  ____________       _____________
 ____    |__( )_________  __/__  /________      __
____  /| |_  /__  ___/_  /_ __  /_  __ \_ | /| / /
___  ___ |  / _  /   _  __/ _  / / /_/ /_ |/ |/ /
 _/_/  |_/_/  /_/    /_/    /_/  \____/____/|__/
Traceback (most recent call last):
  File "/usr/local/bin/airflow", line 37, in <module>
    args.func(args)
  File "/usr/local/lib/python3.8/dist-packages/airflow/utils/cli.py", line 75, in wrapper
    return f(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/airflow/bin/cli.py", line 900, in webserver
    app = cached_app_rbac(None) if settings.RBAC else cached_app(None)
  File "/usr/local/lib/python3.8/dist-packages/airflow/www/app.py", line 232, in cached_app
    app = create_app(config, testing)
  File "/usr/local/lib/python3.8/dist-packages/airflow/www/app.py", line 47, in create_app
    app = Flask(__name__)
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 601, in __init__
    self.add_url_rule(
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 98, in wrapper_func
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1278, in add_url_rule
    self.url_map.add(rule)
  File "/usr/local/lib/python3.8/dist-packages/werkzeug/routing.py", line 1388, in add
    rule.bind(self)
  File "/usr/local/lib/python3.8/dist-packages/werkzeug/routing.py", line 730, in bind
    self.compile()
  File "/usr/local/lib/python3.8/dist-packages/werkzeug/routing.py", line 794, in compile
    self._build = self._compile_builder(False).__get__(self, None)
  File "/usr/local/lib/python3.8/dist-packages/werkzeug/routing.py", line 951, in _compile_builder
    code = compile(module, "<werkzeug routing>", "exec")
TypeError: required field "type_ignores" missing from Module```

1 Ответ

2 голосов
/ 19 июня 2020

Последняя версия Python, поддерживаемая Airflow 1.10.10, - это 3,7 [1] , но Ubuntu 20.04 поставляется с Python 3,8.

Чтобы установить Airflow в Ubuntu 20.04:

  1. Установить Python 3,7:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.7 libpython3.7-dev
Создайте виртуальную среду и установите в ней Airflow:
sudo apt install pipenv
mkdir my_airflow
cd my_airflow
pipenv --python 3.7 install apache-airflow
Инициируйте серверную часть базы данных Airflow из виртуальной среды:
pipenv shell
airflow initdb

После установки, чтобы запустить любую команду воздушного потока, активируйте виртуальную среду и выполните команду:

cd my_airflow
pipenv shell
airflow any_airflow_command
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...