iercan opened a new issue, #33241:
URL: https://github.com/apache/superset/issues/33241

   ### Bug description
   
   I'm trying testing 5.0.0rc2 while currently using version 4.1.2. We utilize 
the official Docker image and install dependencies as the superset user in the 
Dockerfile as shown below.
   
   ```
   USER root
   RUN apt update && apt install -y python3-dev default-libmysqlclient-dev 
build-essential pkg-config
   USER superset
   RUN pip install --no-cache-dir mysqlclient
   ```
   
   My Docker image works with version 4.1.2, but running a DB upgrade on 
5.0.0rc2 throws the following error.
   
   ```
   2025-04-22 10:55:45,212:ERROR:superset.app:Failed to create app
   Traceback (most recent call last):
     File "/app/.venv/lib/python3.10/site-packages/superset/app.py", line 40, 
in create_app
       app_initializer.init_app()
     File 
"/app/.venv/lib/python3.10/site-packages/superset/initialization/__init__.py", 
line 465, in init_app
       self.setup_db()
     File 
"/app/.venv/lib/python3.10/site-packages/superset/initialization/__init__.py", 
line 661, in setup_db
       pessimistic_connection_handling(db.engine)
     File 
"/app/.venv/lib/python3.10/site-packages/flask_sqlalchemy/__init__.py", line 
998, in engine
       return self.get_engine()
     File 
"/app/.venv/lib/python3.10/site-packages/flask_sqlalchemy/__init__.py", line 
1017, in get_engine
       return connector.get_engine()
     File 
"/app/.venv/lib/python3.10/site-packages/flask_sqlalchemy/__init__.py", line 
594, in get_engine
       self._engine = rv = self._sa.create_engine(sa_url, options)
     File 
"/app/.venv/lib/python3.10/site-packages/flask_sqlalchemy/__init__.py", line 
1027, in create_engine
       return sqlalchemy.create_engine(sa_url, **engine_opts)
     File "<string>", line 2, in create_engine
     File 
"/app/.venv/lib/python3.10/site-packages/sqlalchemy/util/deprecations.py", line 
375, in warned
       return fn(*args, **kwargs)
     File 
"/app/.venv/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 
544, in create_engine
       dbapi = dialect_cls.dbapi(**dbapi_args)
     File 
"/app/.venv/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", 
line 150, in dbapi
       return __import__("MySQLdb")
   ModuleNotFoundError: No module named 'MySQLdb'
   Traceback (most recent call last):
     File "/app/.venv/bin/superset", line 10, in <module>
       sys.exit(superset())
     File "/app/.venv/lib/python3.10/site-packages/click/core.py", line 1157, 
in __call__
       return self.main(*args, **kwargs)
     File "/app/.venv/lib/python3.10/site-packages/click/core.py", line 1078, 
in main
       rv = self.invoke(ctx)
     File "/app/.venv/lib/python3.10/site-packages/click/core.py", line 1685, 
in invoke
       super().invoke(ctx)
     File "/app/.venv/lib/python3.10/site-packages/click/core.py", line 1434, 
in invoke
       return ctx.invoke(self.callback, **ctx.params)
     File "/app/.venv/lib/python3.10/site-packages/click/core.py", line 783, in 
invoke
       return __callback(*args, **kwargs)
     File "/app/.venv/lib/python3.10/site-packages/click/decorators.py", line 
33, in new_func
       return f(get_current_context(), *args, **kwargs)
     File "/app/.venv/lib/python3.10/site-packages/flask/cli.py", line 355, in 
decorator
       app = __ctx.ensure_object(ScriptInfo).load_app()
     File "/app/.venv/lib/python3.10/site-packages/flask/cli.py", line 309, in 
load_app
       app = locate_app(import_name, name)
     File "/app/.venv/lib/python3.10/site-packages/flask/cli.py", line 238, in 
locate_app
       return find_app_by_string(module, app_name)
     File "/app/.venv/lib/python3.10/site-packages/flask/cli.py", line 166, in 
find_app_by_string
       app = attr(*args, **kwargs)
     File "/app/.venv/lib/python3.10/site-packages/superset/app.py", line 40, 
in create_app
       app_initializer.init_app()
     File 
"/app/.venv/lib/python3.10/site-packages/superset/initialization/__init__.py", 
line 465, in init_app
       self.setup_db()
     File 
"/app/.venv/lib/python3.10/site-packages/superset/initialization/__init__.py", 
line 661, in setup_db
       pessimistic_connection_handling(db.engine)
     File 
"/app/.venv/lib/python3.10/site-packages/flask_sqlalchemy/__init__.py", line 
998, in engine
       return self.get_engine()
     File 
"/app/.venv/lib/python3.10/site-packages/flask_sqlalchemy/__init__.py", line 
1017, in get_engine
       return connector.get_engine()
     File 
"/app/.venv/lib/python3.10/site-packages/flask_sqlalchemy/__init__.py", line 
594, in get_engine
       self._engine = rv = self._sa.create_engine(sa_url, options)
     File 
"/app/.venv/lib/python3.10/site-packages/flask_sqlalchemy/__init__.py", line 
1027, in create_engine
       return sqlalchemy.create_engine(sa_url, **engine_opts)
     File "<string>", line 2, in create_engine
     File 
"/app/.venv/lib/python3.10/site-packages/sqlalchemy/util/deprecations.py", line 
375, in warned
       return fn(*args, **kwargs)
     File 
"/app/.venv/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 
544, in create_engine
       dbapi = dialect_cls.dbapi(**dbapi_args)
     File 
"/app/.venv/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", 
line 150, in dbapi
       return __import__("MySQLdb")
   ModuleNotFoundError: No module named 'MySQLdb'
   ```
   
   Although mysqlclient seem installed with `pip freeze`, the superset user 
cannot access it.
   
   I noticed the repository now uses uv. When I tried installing it via uv, a 
permission error occurred. Installing it as the root user resolved the issue.
   
   @mistercrunch, I was advised to tag you since you migrated the image to uv.
   
   ### Screenshots/recordings
   
   _No response_
   
   ### Superset version
   
   master / latest-dev
   
   ### Python version
   
   3.10
   
   ### Node version
   
   16
   
   ### Browser
   
   Chrome
   
   ### Additional context
   
   _No response_
   
   ### Checklist
   
   - [x] I have searched Superset docs and Slack and didn't find a solution to 
my problem.
   - [x] I have searched the GitHub issue tracker and didn't find a similar bug 
report.
   - [x] I have checked Superset's logs for errors and if I found a relevant 
Python stacktrace, I included it here as text in the "additional context" 
section.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to