airflow mysql_hook Brak modułu o nazwie „MySQLdb”

Dec 14 2020

mam

Brak modułu o nazwie „MySQLdb”

podczas importowania pliku ariflow

z airflow.hooks.mysql_hook import MySqlHook

Używam Maca, Python 3.7.6

Zainstalowano

  1. pip install „apache-airflow [mysql]”
  2. pip zainstaluj apache-airflow
  3. PyMySQL == 0.10.1
  4. marshmallow-sqlalchemy == 0,23,1
  5. mysql-connector-python == 8.0.22
  6. mysqlclient == 1.3.14

Oprócz tego konkretnego problemu mamy zainstalowany serwer przepływu powietrza i próbowałem przetestować niektóre komponenty przepływu powietrza (haczyki itp.) Bez pełnego środowiska przepływu powietrza, czy jest to wykonalne?

Dzięki!

Odpowiedzi

4 Elad Dec 14 2020 at 12:39

Nie używasz zaktualizowanej wersji MySqlHook.

Dla Airflow <2.0trzeba będzie zainstalować dostawców backportu :

pip install apache-airflow-backport-providers-mysql

Dla Airflow >=2.0trzeba będzie zainstalować dostawców :

pip install apache-airflow-providers-mysql

następnie możesz zaimportować hak przez:

from airflow.providers.mysql.hooks.mysql import MySqlHook

Jeśli chodzi o drugie pytanie, nie jestem pewien, co masz na myśli, mówiąc o środowisku pełnego przepływu powietrza. Na przykład dostawcy zostali usunięci z rdzenia Airflow do oddzielnych pakietów.