airflowmysql_hook「MySQLdb」という名前のモジュールはありません

Dec 14 2020

私は得た

'MySQLdb'という名前のモジュールはありません

ariflowをインポートするとき

airflow.hooks.mysql_hookからインポートMySqlHook

私はMac、Python3.7.6を使用しています

インストール済み

  1. pip install'apache-airflow [mysql] '
  2. pip installapache-airflow
  3. PyMySQL == 0.10.1
  4. マシュマロ-sqlalchemy == 0.23.1
  5. mysql-connector-python == 8.0.22
  6. mysqlclient == 1.3.14

この特定の問題のほかに、サーバーにエアフローがインストールされており、完全なエアフロー環境なしでいくつかのエアフローコンポーネント(フックなど)をテストしようとしていましたが、それは実現可能ですか?

ありがとう!

回答

4 Elad Dec 14 2020 at 12:39

更新されMySqlHookたを使用していません。

Airflow <2.0あなたがインストールする必要がありますバックポートプロバイダを:

pip install apache-airflow-backport-providers-mysql

Airflow >=2.0あなたがインストールする必要がありますプロバイダを:

pip install apache-airflow-providers-mysql

次に、次の方法でフックをインポートできます。

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

2番目の質問については、完全な気流環境が何を意味するのかわかりません。たとえば、Airflowコアから個別のパッケージに削除されたプロバイダー。