在我的python项目中,我使用exchangelib,我需要创建一个exe文件。使用pyinstaller --onefile,我有UTC错误(通常是tzdata)- -“键UTC中没有时区”。简化了所有的操作,在这个问题之后,https://github.com/ecederstrand/exchangelib/issues/897注意到这个问题与这个简单的代码是一样的:
from zoneinfo import ZoneInfo
utc = ZoneInfo('UTC')我还尝试过使用py2exe、cx_freeze、强制tzdata导入,同样的问题。
我花了很多时间寻找解决办法,我想分享我的临时解决方案,但也讨论其他替代解决方案。
发布于 2021-06-11 14:30:39
在探索了不同的选择之后,这对我起了作用:
pyinstaller
PS:我一直面临着这个问题,并在这里探讨了有关pyinstaller的问题。您的解决方案也有效,但它是一个目录,正如我希望它是exe。
发布于 2021-05-26 19:55:21
我发现的解决办法是在pyinstaller创建的主dir中使用pyinstaller -onedir (https://pyinstaller.readthedocs.io/en/stable/usage.html)和手动复制tzdata文件夹(\Python\Python 39\Lib\site-packages\tzdata)。你有其他更优雅的解决方案吗?
发布于 2021-06-07 12:11:45
我使用规范文件进行打包,并将资源文件打包到配置中。
binaries=('C:\ProgramData\Anaconda3\Lib\site-packages\tzdata\zoneinfo\UTC','tzdata\zoneinfo') pathex='C:\ProgramData\Anaconda3\Lib\site-packages\tzdata\zoneinfo‘隐藏导入=’tzdata.zoneinfo‘
https://stackoverflow.com/questions/67711882
复制相似问题