Python exchangelib和pyinstaller-zoneinfo-tzdata-UTC问题

Python exchangelib和pyinstaller-zoneinfo-tzdata-UTC问题,python,pyinstaller,exchangelib,zoneinfo,tzdata,Python,Pyinstaller,Exchangelib,Zoneinfo,Tzdata,在我的python项目中,我使用exchangelib,需要创建一个exe文件。 使用pyinstaller--onefile时,我有UTC错误(通常是tzdata)- “关键UTC中没有timzone”。 简化所有操作并遵循此问题 我注意到这个简单代码的问题是相同的: from zoneinfo import ZoneInfo utc = ZoneInfo('UTC') 我也尝试过py2exe,cx_冻结,强制tzdata导入,同样的问题 我花了很多时间寻找解决方案,我想分享我的临时解决方案

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

from zoneinfo import ZoneInfo
utc = ZoneInfo('UTC')
我也尝试过py2exe,cx_冻结,强制tzdata导入,同样的问题


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

我找到的解决方案是使用pyinstaller--onedir()并手动复制pyinstaller创建的主目录中的tzdata文件夹(\Python\Python39\Lib\site packages\tzdata)。
您有更优雅的其他解决方案吗?

我找到的解决方法是使用pyinstaller--onedir()并手动复制pyinstaller创建的主目录中的tzdata文件夹(\Python\Python39\Lib\site packages\tzdata)。
您有更优雅的其他解决方案吗?

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

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

我使用规范文件进行打包,并将资源文件打包到配置中

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

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

pyinstaller--收集所有tzdata--一个文件\u name.py


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

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

pyinstaller--收集所有tzdata--一个文件\u name.py


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

@Fabio Fracassive这并不能真正回答问题。如果您有不同的问题,可以单击以提问。若要在该问题获得新答案时获得通知,您可以。一旦你有足够的时间,你也可以把更多的注意力吸引到这个问题上我用更多细节更新了我的原始答案。@Fabio Fracassi这并不能真正回答问题。如果您有不同的问题,可以单击以提问。若要在该问题获得新答案时获得通知,您可以。一旦你有足够的时间,你也可以把更多的注意力吸引到这个问题上我用更多的细节更新了我的原始答案。