如何通过pyinstaller使用tkcalendar模块安装python应用程序?

如何通过pyinstaller使用tkcalendar模块安装python应用程序?,python,tkinter,pyinstaller,tkcalendar,Python,Tkinter,Pyinstaller,Tkcalendar,我正在尝试使用pyinstaller在Windows上安装python应用程序,我正在使用tkcalendar。应用程序正在工作,但tkcalendar.Calendar不工作 当我在没有安装的情况下运行应用程序时,一切正常,但如果我这样做,日历小部件就不会出现。 我认为pyinstaller看到了这个模块,但他对tkcalendar使用的模块有问题。 我尝试使用--path=/…/python/Lib/site包运行pyinstaller,但这不起作用。同样,将模块文件复制到应用程序目录也没有

我正在尝试使用pyinstaller在Windows上安装python应用程序,我正在使用tkcalendar。应用程序正在工作,但tkcalendar.Calendar不工作

当我在没有安装的情况下运行应用程序时,一切正常,但如果我这样做,日历小部件就不会出现。 我认为pyinstaller看到了这个模块,但他对tkcalendar使用的模块有问题。
我尝试使用--path=/…/python/Lib/site包运行pyinstaller,但这不起作用。同样,将模块文件复制到应用程序目录也没有帮助。

如果有人发现同样的问题。 在tkcalendar 1.5.0中,calendar.py中的导入存在问题

找到tkcalendar文件夹(可能是/../python/Lib/site packages/tkcalendar),并在calendar.py下为缺少的模块添加其他导入:

导入日历
从babel.dates导入格式\日期、解析\日期、获取\日期\名称、获取\月份\名称
从babel.number导入*#附加导入```

问题并非来自tkcalendar,而是来自PyInstaller未检测到二级导入的事实。tkcalendar的文档在以下章节中解释了解决此问题的方法:

将应用程序与PyInstaller绑定时,存在 和 检测tkcalendar的巴别塔依赖性。这可以通过以下方式解决: 使用
--hidden import
选项:

$ pyinstaller --hidden-import babel.numbers myscript.py
或者通过编辑.spec文件:


在绑定pyinstaller的同时,将以下代码添加到python脚本中

import babel.numbers
import babel.numbers