首页 > 其他分享 >tkinter打包执行异常

tkinter打包执行异常

时间:2024-05-16 18:20:05浏览次数:23  
标签:tkinter py 修改 Calendar 异常 calendar 打包 tkcalendar

一、背景

tkinter界面中通常会用到日历控件,常用的是tkcalendar,这个包在编译器中使用时一般没什么问题,但是在打包时会出现问题,无论是Pyinstaller还是Nuitka,网上能查到的都是Pyinstaller解决方案,这里写一下Nuitka的解决方案。

二、tkcalendar问题1——Calendar与python自带的calendar冲突

使用这个包通常会有这样一句:

from tkcalendar import Calendar

你会发现这个包编译测试没问题,但打包是就会报错,是因为Calendar这个类(在tkcalendar\calendar_.py下面)会跟python自带的calendar包冲突。
因此要想用,最好对这个类改名,我这里改成CCalendar。

注意有几处相关联的地方需要修改,如果不知道,可以直接编译程序,它会逐个报错说no module named ‘Calendar’,因为他们调用的Calendar类已经被修改为CCalendar类,没有Calendar类了。

(1)在你调用的程序里面修改:

 

(2)去tkcalendar\calendar_.py里面修改:

(3)去tkcalendar\dateentry.py里面修改:

 (4)去tkcalendar_init_.py里面修改:

 

 

三、tkcalendar问题2——babel包相关问题

运行仍旧报错,这次说是no module named ‘babel.numbers’,但是babel下面是有numbers.py,试了各种方法,最后直接在起初调用tkcalendar的地方加上一句

 

 再打包,就能正常运行了。

标签:tkinter,py,修改,Calendar,异常,calendar,打包,tkcalendar
From: https://www.cnblogs.com/Lccccccccc/p/18196447

相关文章

  • python打包在32位无法运行问题
    真不想吐槽现在的技术越高级越烂的一批尤其是开发工具win1064位python64位开发pyinsataller打包后不能在32位上运行别折腾重新安装python32位测试安装python3.12.232位竟然不能安装pandas(见鬼去吧)重新安装python3.8.10提示不能用在xp上,也可以接受了.再安装依赖包,没......
  • C++:自定义异常
    #include<iostream>#include<stdexcept>//自定义异常类classMyException:publicstd::exception{public://重写what()函数以提供异常的描述,const表示函数不会改变类的成员变量,noexcept表示不会抛出异常constchar*what()constnoexceptoverride{......
  • 异常处理与推导式
    异常处理【一】什么是异常异常就是程序在运行当中遇到的报错为了程序的健壮性要捕获异常后进行处理断掉程序 / 重启程序 / 进入指定处理流程【二】捕获异常if捕获不到异常,要用python自带的捕获语句try:...except:...【三】异常捕获详细对代码熟悉,能确保代码报错是哪......
  • 截取Spring框架自动抛出异常
    在Spring框架中,特别是使用SpringMVC或SpringBoot时,可以采用以下几种方式来截取和处理框架自动抛出的异常,使其更加符合应用的需求和提升用户体验:1.全局异常处理器- @ControllerAdvice使用@ControllerAdvice注解定义一个全局异常处理类,可以捕获整个应用程序中控制器抛出的异......
  • mit6.828笔记 - lab3 Part A:用户进程和异常处理
    简单回顾在开始lab3的学习之前,我们先简单回顾下到目前为止,我们的内核能做了什么:lab1中,我们学习了PC启动的过程,看到BIOS将我们编写的bootloader载入内存,然后通过bootloader将内核载入内存。同时,使用了一个写死的临时页表(entry_pgdir)完成了简单的地址映射;我们的内核最后执......
  • mit6.828笔记 - lab3 Part B:页面故障、断点异常和系统调用
    PartB页面故障、断点异常和系统调用虽然说,我们故事的主线是让JOS能够加载、并运行user/hello.c编译出来的镜像文件。虽然说,经过PartA最后几节,我们初步实现了异常处理的基础设施。但是对于操作系统来说,还远远不够,比如说那个trap_dispatch还没完成。所以在回到故事主线之......
  • 全局异常处理和jwt介绍与使用
    全局异常处理和jwt介绍与使用1.全局异常处理#APIView的dispatch的时候--》三大认证,视图类的方法中--》出了异常--》被异常捕获--》都会执行一个函数:#只要出了异常,都会执行dispatch中的这句,这个函数response=self.handle_exception(exc)#handle_exception源码分析d......
  • Libz打包/合并DLL与可执行文件(EXE)
    Libz是一个.NET的库,它提供了一种方法将多个DLLs和其他资源打包进一个单独的可执行文件(EXE)或另一个动态链接库(DLL)。Libz的功能类似于ILMerge,但它提供了更多的灵活性和功能,特别是对于处理压缩和资源管理。Libz使用了自定义的加载器来在运行时解压和加载程序集和资源,这样可以减少部署......
  • EBS 可保留量(Quantity Available To Reserve) 异常
    EBS可保留量(QuantityAvailableToReserve)异常销售挑库因为可保留量不足失败: 库存管理下检查现有量,现有量正常,但是处理和可保留存在占用。查询待定事务处理和相关接口表,未发现待定数据。(tmp和interface)检查批次失效时间(R12.0BUG):物料无批次失效控制。(注:R12.0存在一个bu......
  • EBS 可保留量(Quantity Available To Reserve) 异常 -- 子库间的转移
    1、出现可保留量数量为0或者不不相等的情况 2、查看子库状态的生效状态 3、从新跑请求:保留接口管理器   4、最后可用量就出来了   ......