ImportError: невозможно импортировать имя «ClassVar» после установки воздушного потока - PullRequest
2 голосов
/ 09 января 2020

Я следовал инструкциям по установке Airflow снизу, ссылка

Установка воздушного потока и получение этой ошибки ниже

  Traceback (most recent call last):
  File "/usr/local/bin/airflow", line 25, in <module>
  from airflow.configuration import conf
  File "/usr/local/lib/python3.5/dist-packages/airflow/__init__.py", line 42, in <module>
  from airflow.models import DAG
  File "/usr/local/lib/python3.5/dist-packages/airflow/models/__init__.py", line 21, in 
  <module>
  from airflow.models.baseoperator import BaseOperator, BaseOperatorLink  # noqa: F401
  File "/usr/local/lib/python3.5/dist-packages/airflow/models/baseoperator.py", line 30, in 
  <module>
  from typing import Any, Callable, ClassVar, Dict, FrozenSet, Iterable, List, Optional, 
  Set, Type, Union
  ImportError: cannot import name 'ClassVar'

Может кто-нибудь помочь мне здесь

1 Ответ

0 голосов
/ 30 апреля 2020

Я также столкнулся с той же ошибкой в ​​моем случае:

  • Ubuntu 16.04
  • Python 3.5
  • Воздушный поток 1.10.10

После некоторой проверки я обнаружил, что это была проблема python версии, что python3 .5 не поддерживает типизацию модуля. ClassVar: https://docs.python.org/3.5/library/typing.html

As introduced in PEP 526, a variable annotation wrapped in ClassVar indicates that a given attribute is intended to be used as a class variable and should not be set on instances of that class.

И зарегистрировался PEP 526 Я обнаружил, что эта функция поддерживает только версию 3.6, ох ....

Таким образом, решение заключалось в обновлении версии Python до 3.6+ для установки. Воздушный поток 1.10.

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.7
sudo apt install build-essential libssl-dev libffi-dev python3.7-dev
sudo apt-get install python3.7-venv

В конце концов, процессы успешно выполнены. В качестве совершенства для официального руководства, требования к среде для установки будут:

  • Ubuntu 16.04
  • Python 3.6 +
  • Воздушный поток 1.10.10
...