HPE Ezmeral Software platform
1833310 Members
2736 Online
110051 Solutions
New Discussion

Airflow using mysql backend, ModuleNotFoundError

 
whydo
Occasional Advisor

Airflow using mysql backend, ModuleNotFoundError

Hi All,

I'm trying to use a mysql backend for airflow but failing miserably .

My connection line is this:

sql_alchemy_conn = mysql+pymysql://AFUSER:AFPAS5y@host0001477.acme.com/airflow_db

I'm getting the error:

Traceback (most recent call last):

  File "/opt/mapr/airflow/airflow-2.7.1/bin/airflow", line 4, in <module>

    from airflow.__main__ import main

  File "/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/airflow/__init__.py", line 68, in <module>

    settings.initialize()

  File "/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/airflow/settings.py", line 526, in initialize

    configure_orm()

  File "/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/airflow/settings.py", line 222, in configure_orm

    engine = create_engine(SQL_ALCHEMY_CONN, connect_args=connect_args, **engine_args, future=True)

  File "<string>", line 2, in create_engine

  File "/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/sqlalchemy/util/deprecations.py", line 375, in warned

    return fn(*args, **kwargs)

  File "/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/sqlalchemy/engine/create.py", line 544, in create_engine

    dbapi = dialect_cls.dbapi(**dbapi_args)

  File "/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/sqlalchemy/dialects/mysql/pymysql.py", line 80, in dbapi

    return __import__("pymysql")

ModuleNotFoundError: No module named 'pymysql'

 

I see that ezmeral has the module included:

# locate -i pymysql

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/types_PyMySQL-1.1.0.1.dist-info

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/aws_xray_sdk/ext/pymysql

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/aws_xray_sdk/ext/pymysql/__init__.py

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/aws_xray_sdk/ext/pymysql/__pycache__

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/aws_xray_sdk/ext/pymysql/patch.py

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/aws_xray_sdk/ext/pymysql/__pycache__/__init__.cpython-39.pyc

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/aws_xray_sdk/ext/pymysql/__pycache__/patch.cpython-39.pyc

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/__init__.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/charset.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/connections.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/converters.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/cursors.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/err.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/times.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/util.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/CLIENT.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/COMMAND.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/ER.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/FIELD_TYPE.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/FLAG.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/SERVER_STATUS.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/__init__.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/METADATA.toml

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/__init__.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/charset.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/connections.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/constants

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/converters.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/cursors.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/err.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/times.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/util.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/constants/CLIENT.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/constants/COMMAND.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/constants/CR.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/constants/ER.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/constants/FIELD_TYPE.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/constants/FLAG.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/constants/SERVER_STATUS.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/pymysql-stubs/constants/__init__.pyi

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/sqlalchemy/dialects/mysql/pymysql.py

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/sqlalchemy/dialects/mysql/__pycache__/pymysql.cpython-39.pyc

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/types_PyMySQL-1.1.0.1.dist-info/INSTALLER

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/types_PyMySQL-1.1.0.1.dist-info/METADATA

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/types_PyMySQL-1.1.0.1.dist-info/RECORD

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/types_PyMySQL-1.1.0.1.dist-info/REQUESTED

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/types_PyMySQL-1.1.0.1.dist-info/WHEEL

/opt/mapr/airflow/airflow-2.7.1/build/env/lib/python3.9/site-packages/types_PyMySQL-1.1.0.1.dist-info/top_level.txt

It also is installed on the base system.

/usr/lib/python3.6/site-packages/PyMySQL-0.10.1-py3.6.egg-info

/usr/lib/python3.6/site-packages/pymysql

/usr/lib/python3.6/site-packages/PyMySQL-0.10.1-py3.6.egg-info/PKG-INFO

/usr/lib/python3.6/site-packages/PyMySQL-0.10.1-py3.6.egg-info/SOURCES.txt

/usr/lib/python3.6/site-packages/PyMySQL-0.10.1-py3.6.egg-info/dependency_links.txt

/usr/lib/python3.6/site-packages/PyMySQL-0.10.1-py3.6.egg-info/requires.txt

/usr/lib/python3.6/site-packages/PyMySQL-0.10.1-py3.6.egg-info/top_level.txt

/usr/lib/python3.6/site-packages/pymysql/__init__.py

/usr/lib/python3.6/site-packages/pymysql/__pycache__

/usr/lib/python3.6/site-packages/pymysql/_auth.py

/usr/lib/python3.6/site-packages/pymysql/_compat.py

/usr/lib/python3.6/site-packages/pymysql/_socketio.py

/usr/lib/python3.6/site-packages/pymysql/charset.py

/usr/lib/python3.6/site-packages/pymysql/connections.py

/usr/lib/python3.6/site-packages/pymysql/constants

/usr/lib/python3.6/site-packages/pymysql/converters.py

/usr/lib/python3.6/site-packages/pymysql/cursors.py

/usr/lib/python3.6/site-packages/pymysql/err.py

/usr/lib/python3.6/site-packages/pymysql/optionfile.py

/usr/lib/python3.6/site-packages/pymysql/protocol.py

/usr/lib/python3.6/site-packages/pymysql/times.py

/usr/lib/python3.6/site-packages/pymysql/util.py

/usr/lib/python3.6/site-packages/pymysql/__pycache__/__init__.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/__init__.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/_auth.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/_auth.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/_compat.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/_compat.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/_socketio.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/_socketio.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/charset.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/charset.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/connections.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/connections.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/converters.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/converters.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/cursors.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/cursors.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/err.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/err.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/optionfile.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/optionfile.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/protocol.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/protocol.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/times.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/times.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/util.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/__pycache__/util.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/CLIENT.py

/usr/lib/python3.6/site-packages/pymysql/constants/COMMAND.py

/usr/lib/python3.6/site-packages/pymysql/constants/CR.py

/usr/lib/python3.6/site-packages/pymysql/constants/ER.py

/usr/lib/python3.6/site-packages/pymysql/constants/FIELD_TYPE.py

/usr/lib/python3.6/site-packages/pymysql/constants/FLAG.py

/usr/lib/python3.6/site-packages/pymysql/constants/SERVER_STATUS.py

/usr/lib/python3.6/site-packages/pymysql/constants/__init__.py

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/CLIENT.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/CLIENT.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/COMMAND.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/COMMAND.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/CR.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/CR.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/ER.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/ER.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/FIELD_TYPE.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/FIELD_TYPE.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/FLAG.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/FLAG.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/SERVER_STATUS.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/SERVER_STATUS.cpython-36.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/__init__.cpython-36.opt-1.pyc

/usr/lib/python3.6/site-packages/pymysql/constants/__pycache__/__init__.cpython-36.pyc

 

What am i missing?

Thanks in advance.

2 REPLIES 2
Dave Olker
Neighborhood Moderator

Re: Airflow using mysql backend, ModuleNotFoundError

I don't know what OS you're running, but have you checked whether the python*-mysql packages are installed?

On my RHEL 8.8 box:

# yum list python2-pymysql
Installed Packages
python2-PyMySQL.noarch 0.8.0-10.module+el8.1.0+3111+de3f2d8e @rhel-8-for-x86_64-appstream-rpms
Available Packages
python2-PyMySQL.noarch 0.8.0-10.module+el8.9.0+19487+7dc18407 rhel-8-for-x86_64-appstream-rpms

# yum list python3-pymysql
Installed Packages
python3-PyMySQL.noarch 0.10.1-2.module+el8.4.0+9657+a4b6a102 @rhel-8-for-x86_64-appstream-rpms

 



I work at HPE
HPE Support Center offers support for your HPE services and products when and how you need it. Get started with HPE Support Center today.
[Any personal opinions expressed are mine, and not official statements on behalf of Hewlett Packard Enterprise]
Accept or Kudo
whydo
Occasional Advisor

Re: Airflow using mysql backend, ModuleNotFoundError

@Dave Olker 

Hi Dave,

We are running rhel 8.8 and yes we have it installed.

 

# rpm -qa | grep -y mysql

python2-PyMySQL-0.8.0-10.module+el8.1.0+3111+de3f2d8e.noarch

python3-PyMySQL-0.10.1-2.module+el8.4.0+9657+a4b6a102.noarch