zlib在cx冻结的python3.4应用程序中不可用

2024-04-29 21:59:14 发布

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

在Windows 10 64位(32位python)上,当我将python3.4应用程序编译成cx_freeze的可执行文件时,我从看似随机的导入尝试(例如import getpass/import QtCore)中间歇性地出现以下运行时异常(约为4次中的1次):

zipimport.ZipImportError: can't decompress data; zlib not available

当我在启动时没有得到错误,应用程序运行良好。注意事项:

1-对于使用Python2.7构建的类似应用程序,我没有得到例外。在

2-当直接从.pyw文件运行时(即解冻),我没有得到异常。在

跟踪:

^{pr2}$

另外,我发现这似乎是相关的: cx_freeze "zlib not avaiable" error when using multiple threads

假设我的python3.4应用程序正在使用两个依赖于zlib的外部库,并且它的使用受到了限制。这些库不在Python2.7中,因此我看不出问题所在。如果我可以停止这些库异步加载,那么我可能会解决这个问题。在


Tags: import应用程序可执行文件windowsnotdecompresscancx
1条回答
网友
1楼 · 发布于 2024-04-29 21:59:14

好吧,我的假设似乎是正确的。库被分两个线程加载。等到第一个线程导入后,第二个线程似乎已经解决了这个问题。(虽然我可以更改相对时间,但如果是这样,我会更新)。针对注释:

1-Python2.7应用程序没有加载zlib,所以这是一个转移话题。在

2-我认为.pyw中的时间安排一定是这样的,以至于问题没有发生。在

相关问题 更多 >