python - Airflow:如何将 PyMySQL 与 MySQL Hook 结合使用?

标签 python mysql python-3.x airflow pymysql

我正在尝试在 Apache Airflow 中使用 MySQL。我已经使用 PymySQL 来查询 MySQL 数据库,但没有安装 MySQLDb。因此我得到了错误:

 from airflow.hooks.mysql_hook import MySqlHook
  File "/anaconda3/anaconda/lib/python3.6/site-packages/airflow/hooks/mysql_hook.py", line 15, in <module>
    import MySQLdb
ModuleNotFoundError: No module named 'MySQLdb'

如果我进入mysql_hook.py类,我已经看到他们正在使用MySQLDB

import MySQLdb
import MySQLdb.cursors

除了手动导入 pymysql 而不是在钩子(Hook)中导入之外,我还有什么选择?

我使用的是Python 3.6

谢谢

最佳答案

为了使 MySQL Hook 在 Airflow 中工作,您需要安装 MySQL 额外软件包。如果您已经使用 pip 安装了 Airflow,则可以使用以下命令:

pip install apache-airflow[mysql]

这将安装mysqlclient包,这是这里需要的。

关于python - Airflow:如何将 PyMySQL 与 MySQL Hook 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52336365/

相关文章:

Python 在字符串中插入制表符

python - 如何在 Scrapy 中使用 ssl 客户端证书(p12)?

python - 我可以使用基于 fixture 参数 ID 的 pytest.mark.skipif 吗?

python - 如何得到正确的十进制结果

python - 子表上的 QAbstractItemModel header

python - 从 OpenCV 返回的某个 numpy 数组中获取元素?

php - 未知文件 - wp-config-db.cnf.php - 有什么想法吗?

MySQL 终止连接

mysql - 查询优化,sql

python - 如何在 tkinter 中使用自定义字体路径?仅适用于 Windows