exchangelib和pyinstaller zoneinfo tzdata UTC问题

2024-04-28 09:11:49 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的python项目中,我使用exchangelib,需要创建一个exe文件。 使用pyinstaller--onefile时,我有UTC错误(通常是tzdata)- “关键UTC中没有timzone”。 简化所有操作并遵循此问题 https://github.com/ecederstrand/exchangelib/issues/897 我注意到这个简单代码的问题是相同的:

from zoneinfo import ZoneInfo
utc = ZoneInfo('UTC')

我也尝试过py2exe,cx_冻结,强制tzdata导入,同样的问题

我花了很多时间寻找解决办法,我想分享我的临时解决方案,但也讨论其他替代解决方案


Tags: 文件项目httpsgithub错误解决方案exe关键
3条回答

在探索了不同的选择之后,这对我来说很有效:

pyinstaller collect-all tzdata onefile file_name.py

PS:我一直面临着这个问题,并在这里探讨pyinstaller。您的解决方案也可以工作,但它是一个目录,我希望它是exe

我使用spec文件进行打包,并在配置中打包了资源文件

二进制文件=[('C:\ProgramData\Anaconda3\Lib\site packages\tzdata\zoneinfo\UTC','tzdata\zoneinfo')] pathex=['C:\ProgramData\Anaconda3\Lib\site packages\tzdata\zoneinfo'] HiddeInputs=['tzdata.zoneinfo']

我找到的解决方法是使用pyinstaller onedir(https://pyinstaller.readthedocs.io/en/stable/usage.html)并手动复制pyinstaller创建的主目录中的tzdata文件夹(\Python\Python39\Lib\site packages\tzdata)。 你有更优雅的其他解决方案吗

相关问题 更多 >