airflow mysql_hook 'MySQLdb' नाम का कोई मॉड्यूल नहीं

Dec 14 2020

मैंने पाया

'MySQLdb' नाम का कोई मॉड्यूल नहीं

जब आयात ariflow

airflow.hooks.mysql_hook से आयात करें MySqlHook

मैं मैक का उपयोग कर रहा हूँ, अजगर 3.7.6

स्थापित

  1. पाइप स्थापित 'अपाचे-एयरफ्लो [mysql]'
  2. पाइप स्थापित अपाचे-एयरफ्लो
  3. PyMySQL == 0.10.1
  4. मार्शमॉलो-स्क्वैल्सीमेई == 0.23.1
  5. mysql-कनेक्टर-पायथन == 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

अपने दूसरे प्रश्न के रूप में मुझे यकीन नहीं है कि आप पूरे एयरफ्लो वातावरण से क्या मतलब है। उदाहरण के लिए प्रदाता जहां एयरफ्लो कोर से अलग किए गए पैकेजों को हटा दिया गया है।