为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

海绵宝宝撒 2022-05-19 15:43:13
我正在尝试在使用 tkcalendar 的 pyinstaller 在 Windows 上安装 python 应用程序。应用程序正在运行,但 tkcalendar.Calendar 没有。当我在没有安装的情况下运行应用程序时,一切正常,但如果我这样做,日历小部件不会出现。我认为 pyinstaller 看到了这个模块,但是他对 tkcalendar 正在使用的模块有问题。我尝试使用 --path=/.../python/Lib/site-packages 运行 pyinstaller 但这没有用。将模块文件复制到应用程序目录也无济于事。
查看完整描述

3 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

问题不是来自于tkcalendarPyInstaller 没有检测到二级导入这一事实。tkcalendar 的HowTos文档中解释了解决此问题的方法:

使用 PyInstaller 捆绑应用程序时, 检测 tkcalendar 的 babel 依赖存在问题。这可以通过使用以下--hidden-import选项来解决:

$ pyinstaller --hidden-import babel.numbers myscript.py

或通过编辑.spec文件:

hiddenimports=["babel.numbers"]


查看完整回答
反对 回复 2022-05-19
?
HUWWW

TA贡献1874条经验 获得超12个赞

将以下代码添加到您的 python 脚本中,同时与 pyinstaller 捆绑

import babel.numbers


查看完整回答
反对 回复 2022-05-19
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

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


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


import calendar

from babel.dates import format_date, parse_date, get_day_names, get_month_names

from babel.numbers import *  # Additional Import```


查看完整回答
反对 回复 2022-05-19
  • 3 回答
  • 0 关注
  • 659 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号