用Pyinstaller打包时遇到No module named win32timezone问题

用Pyinstaller打包时遇到No module named win32timezone问题用Pyinstaller打包时遇到Nomodulenamedwin32timezone问题Pyinstaller使用方法我遇到的问题解决办法利用tkinter+python+pyinstaller实现了小工具的项目,没有pyinstaller打包时程序没有问题,打包后运行.exe过程中会在控制台打印错误。Pyinstaller使用方法我们对Markdown编辑器进行了一些功能拓展与语法…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

用Pyinstaller打包时遇到No module named win32timezone问题

利用tkinter+python+pyinstaller实现了小工具的项目,没有pyinstaller打包时程序没有问题,打包后运行.exe过程中会在控制台打印错误。

Pyinstaller使用方法

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 单个py文件打包格式: pyinstaller -F test.py
  2. 多个.py文件打包命令格式如下 :
pyinstaller [主文件] -D -p [其他文件1] -p [其他文件2] --hidden-import [自建模块1] --hidden-import [自建模块2]

Jetbrains全家桶1年46,售后保障稳定

链接:Pyinstaller参数说明
使用-D 参数打包,会在根目录下的dist目录中生成一个文件夹,存放生成的 xxx.exe文件以及相关的依赖文件 (推荐使用-D 打包,-F 是打包成单一.exe文件)

我遇到的问题

我的项目结构:
Main.py是主程序文件,其他的都是自己写模块
打包命令如下:

(test) D:\ProgramData\NewTachometer>pyinstaller -D -n volemeter -i ana.ico  ma
in.py -p mainFunc.py -p GlobalVar.py -p calendarModule.py -p SiftPic.py -p CarsD
ata.py -p GenerateExcel.py --hidden-import mainFunc --hidden-import GlobalVar --
hidden-import calendarModule --hidden-import SiftPic --hidden-import CarsData --
hidden-import GenerateExcel 

打包成功,没有报错:
在这里插入图片描述
运行.exe程序时,在控制台打印错误信息如下:
在这里插入图片描述
从打印信息知道,是因为没有导入win32timezone模块从而发生错误的。检查代码发现,是由于从.mdb数据库文件中读出的时间信息pywintypes.datetime(2019, 3, 12, 12,33, 48, tzinfo=TimeZoneInfo(‘GMT StandardTime’, True) 。

解决办法

解决问题:
在CarsData.py导入win32timezone模块

import win32timezone

重新打包,再运行就没问题了!!!

留下一个疑问: 为什么打包之前代码没有导入win32timezone模块但运行没有问题,打包后就有问题了? 没有搞清楚…

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219198.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言中的break和continue

    C语言中的break和continue一般在的,while,for这样含有循环体的语句中,某些情况下我们会需要立即跳出当前循环。这时使用break语句就可以实现直接从当前循环体直接跳出开始执行while,for语句的下一条语句。另外,break这种可以从一段复合语句中跳出的功能也被switch广泛借用,来跳过switch复合语句,也就是被花括号框住的代码块中剩余的部分,转去执行switc…

    2022年5月30日
    30
  • java中session的使用[通俗易懂]

    java中session的使用[通俗易懂]1、创建session:2、jsp读取session3、java后台读取session的值

    2022年7月4日
    31
  • LuaJIT简介[通俗易懂]

    LuaJIT简介[通俗易懂]LuaJIT是刚刚在即时编译器(JIT)为» 的Lua编程语言。Lua是一个功能强大,动态和轻量级的编程语言。它可能被嵌入或用作通用的,独立的语言兼容性WindowsLinux的BSDOSXPOSIXEmbeddedAndroid的iOS版PS3PS4PSVitaXbox360GCCCLANG LLVMMSVC8664位

    2022年10月7日
    4
  • 海龟绘图简易教程|Turtle for Python

    海龟绘图简易教程|Turtle for Pythonturtle是python内置的一个比较有趣味的模块,俗称海龟绘图,它是基于tkinter模块打造,提供一些简单的绘图工具,海龟作图最初源自20世纪60年代的Logo编程语言,之后一些很酷的Python程序员构建了turtle库,让其他程序员只需要importturtle,就可以在Python中使用海龟作图。原文链接|海龟绘图简易教程1….

    2022年6月28日
    43
  • Emgucv环境配置[通俗易懂]

        Emgucv是在.NET平台下使用OpenCV视觉库的桥梁,在使用之前需要对系统进行配置,其配置和OpenCV的配置有点不同。1、EmguCV下载下载网站:http://www.emgu.com/wiki/index.php/Main_Page该网站上有EmguCV的所有资料,包括教程。下载好之后,直接安装到电脑上,安装位置可任意。本文所配置的是EmguCV3.0.0版本。2、新建一个VS…

    2022年4月14日
    86
  • 变速运动实例(二)[通俗易懂]

    变速运动实例(二)[通俗易懂]变速运动实例(二)(1)右下角区块初始位置处于右下角。当页面滚动时,区块位置会随之滑动,并且最终停止在右下角位置。(2)滑块处于浏览器右边视角中部,当页面滚动时,最终停止滚动时滑块也会滚动到中部。<!doctypehtml><html><head><title>运动</title><…

    2025年7月17日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号