The issue does not come from tkcalendar
but from the fact that PyInstaller does not detect second level imports. A way to solve this issue is explained in tkcalendar’s documentation in the HowTos section:
When bundling an application with PyInstaller, there is an
issue with the
detection of the babel dependency of tkcalendar. This can be fixed by
using the--hidden-import
option:$ pyinstaller --hidden-import babel.numbers myscript.py
or by editing the .spec file:
hiddenimports=["babel.numbers"]