使用无控制台和无调试选项时,可执行文件上的 Pyinstaller 编解码器错误
Posted
技术标签:
【中文标题】使用无控制台和无调试选项时,可执行文件上的 Pyinstaller 编解码器错误【英文标题】:Pyinstaller Codec Error on Executable When Using No Console And No Debug Option 【发布时间】:2022-01-15 21:48:00 【问题描述】:我正在制作这个使用 imageio 和 imageio-ffmpeg 的程序,我想把它变成一个可执行文件,所以我进入了我用于项目的 virtualenv 环境,生成了带有 pyi-makespec
的 .spec,然后在尝试了很长时间后,我通过将其添加到 .spec 文件的 binaries
部分来使其工作:
binaries=[("C:\\Users\\me\\video_env\\Lib\\site-packages\\imageio_ffmpeg", "imageio_ffmpeg"), ("C:\\Users\\me\\video_env\\Lib\\site-packages\\imageio", "imageio")],
然后我将console
和debug
更改为True
,并生成了可执行文件。它有效。现在一切正常,我再次将console
和debug
更改为False
,生成了可执行文件,但这次它不再工作了。程序正确打开,但是当它到达使用 imageio 的地方时,它崩溃了,我从 pyinstaller 得到这个错误窗口:
为了确定,我再次打开了console
和debug
,果然,它又可以工作了:
如果我有debug=False
和console=True
,它也可以工作,但它不适用于debug=True
和console=False
。我在使用二进制文件时犯了错误吗?我不知道如何解决这个问题,请帮助我。
【问题讨论】:
【参考方案1】:我发现它为什么不起作用,这是 pyinstaller 中的一个错误。当我使用 pyinstaller 的开发版本时它起作用了。我在cmd中运行pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip
,再次运行pyinstaller命令,果然成功了。
【讨论】:
以上是关于使用无控制台和无调试选项时,可执行文件上的 Pyinstaller 编解码器错误的主要内容,如果未能解决你的问题,请参考以下文章