fix: use collect_all for mysql.connector to fix No module named 'mysql' in exe

mysql-connector-python 9.x restructured its package hierarchy. PyInstaller
fails to auto-discover submodules (aio, plugins, locales, etc.).
Updated DatabaseApp.spec to use collect_all('mysql.connector') which
walks the full package tree and bundles all required files.
Rebuilt DatabaseApp.exe (30.9 MB).
This commit is contained in:
2026-04-07 13:49:09 +03:00
parent 68b241c3cb
commit df4a75ceaf
2 changed files with 13 additions and 3 deletions

View File

@@ -1,12 +1,22 @@
# -*- mode: python ; coding: utf-8 -*-
from PyInstaller.utils.hooks import collect_all
mysql_datas, mysql_binaries, mysql_hiddenimports = collect_all('mysql.connector')
a = Analysis(
['main.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=['mysql.connector', 'mysql.connector.locales', 'mysql.connector.locales.eng', 'mysql.connector.plugins', 'mysql.connector.plugins.mysql_native_password', 'kivy.core.window.window_sdl2', 'win32timezone'],
binaries=mysql_binaries,
datas=mysql_datas,
hiddenimports=mysql_hiddenimports + [
'mysql', 'mysql.connector', 'mysql.connector.locales',
'mysql.connector.locales.eng', 'mysql.connector.locales.eng.client_error',
'mysql.connector.plugins', 'mysql.connector.plugins.mysql_native_password',
'mysql.connector.plugins.caching_sha2_password',
'mysql.connector.aio', 'mysql.connector.aio.plugins',
'mysql.connector.aio.plugins.mysql_native_password',
'kivy.core.window.window_sdl2', 'win32timezone',
],
hookspath=[],
hooksconfig={},
runtime_hooks=[],

BIN
dist/DatabaseApp.exe vendored

Binary file not shown.