Pyinstaller 在 python 3.7 中不起作用(找不到模块“编码”)
Posted
技术标签:
【中文标题】Pyinstaller 在 python 3.7 中不起作用(找不到模块“编码”)【英文标题】:Pyinstaller doesn't work in python 3.7 (can't find module 'encodings') 【发布时间】:2018-07-30 01:48:20 【问题描述】:我在下面有测试程序 - 我使用 pyinstaller(Python 版本 3.7b。Windows 10 - 64 位)编译了代码,在编译过程中发现了警告和错误。对于解决此问题的任何见解,我将不胜感激。
Test.py
import encodings
print('Test')
编译警告示例
102 信息:PyInstaller:3.3.1 102 信息:Python:3.7.0b1 104 信息:平台:Windows-10-10.0.14393-SP0 2771 警告:找不到库:c:\apps\python\python37\python.exe 的 api-ms-win-crt-math-l1-1-0.dll 依赖项 2801 警告:找不到库:c:\apps\python\python37\python.exe 的 api-ms-win-crt-stdio-l1-1-0.dll 依赖项
错误 - 执行程序 致命的 Python 错误:initfsencoding: 无法加载文件系统编解码器 zipimport.ZipImportError: 找不到模块“编码” 当前线程 0x0000289c(最近调用优先):
【问题讨论】:
【参考方案1】:我有同样的错误 (zipimport.ZipImportError: 找不到模块“编码”)。
我认为这与尚不支持 pyinstaller 的 Python 3.7 有关...
【讨论】:
这有什么更新吗? Github 自述文件现在说它支持 3.7,所以我认为这不是问题。 pyinstaller 的 github repo 上的默认分支是“development”,所以它在自述文件中所说的可能与 pypi 上的最新版本不同。 pypi.org/project/PyInstaller 安装当前开发版本使用:pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
@HåkenLid 是正确的,主分支说any Python version 2.7 / 3.3-3.6
对于迷路的谷歌用户,v4 似乎对我来说很好用(2020 年发布)。它说在 3.9 之前支持 Python。【参考方案2】:
我遇到了同样的问题,我通过在我的 Windows 10 专业版操作系统中将 Python 3.7 替换为 Python 3.6.5 来解决它。
在使用PyInstall
编译我的python 脚本期间,我仍然收到这些WARNING: lib not found: api-ms-win-crtXXX...
警告,但最终的可执行文件工作正常,没有任何错误。
【讨论】:
【参考方案3】:我也遇到了同样的错误。 我将pyinstaller升级到最新版本[3.4],问题就解决了。 我的环境信息如下: Windows 7,python 3.7.0,pyinstaller 3.1。 参考来源:zipimport.ZipImportError: can't find module 'encodings'
【讨论】:
【参考方案4】:正在尝试安装 Python 并使用最新版本 (3.7.2)。遇到同样的错误(或者在使用安装程序进行设置时,出现了神秘的“拒绝访问”问题,这导致了一系列不同的问题/解决方案。
最后,刚刚更改为较早的版本(目前为 v3.5.2)并且运行顺利。如果您想完成其他事情,可以节省时间! 正如有人已经指出的那样,这可能与 PyInstaller 不被支持有关(还没有?)
【讨论】:
以上是关于Pyinstaller 在 python 3.7 中不起作用(找不到模块“编码”)的主要内容,如果未能解决你的问题,请参考以下文章