auto-py-to-exe打包exe后报autocorrect等拼写检查库缺失错误如何解决?
拼写检查库打包EXE缺失模块问题解决方案
1 优先排查环境一致性问题
该问题90%概率是auto-py-to-exe调用的PyInstaller环境和你运行脚本正常的Python环境不匹配,按以下步骤验证:
- 打开你跑脚本无报错的终端/PyCharm内置终端,执行
pip show autocorrect,记下返回结果中Location对应的site-packages路径 - 同终端执行
pyinstaller --version,如果提示命令不存在,说明当前环境未安装PyInstaller,直接执行pip install auto-py-to-exe重装工具,之后在当前终端输入auto-py-to-exe启动GUI,不要用桌面快捷方式启动,避免调用错环境 - 如果是使用虚拟环境开发,必须先激活虚拟环境,再启动auto-py-to-exe
2 补全隐藏导入的子模块
拼写检查类库大多会动态加载语言包、私有子模块,仅添加主模块名到隐藏导入无法覆盖所有依赖,按你使用的库额外添加对应隐藏导入项即可:
autocorrect:额外添加autocorrect.data、autocorrect.langpyspellchecker:额外添加spellchecker.dictionaries、spellchecker.resourceshunspell:额外添加hunspell._hunspelllanguage-tool:额外添加language_tool_python.download、language_tool_python.language_tool,同时需要在「附加文件」栏添加Python环境下site-packages/language_tool_python目录内的LanguageTool-xxx语言包文件夹,目标路径填language_tool_python/
3 优化打包体积方案
textblob打包后体积过大是因为依赖NLTK全量语料库,无需使用,按上述方法打包小体积拼写检查库后,可通过以下操作进一步压缩:
- 在auto-py-to-exe高级选项中开启UPX压缩,可减少30%左右体积
- 添加
--exclude-module参数剔除脚本未用到的冗余依赖,比如numpy、matplotlib等无关库 - 选择单文件打包模式,减少冗余文件体积
内容的提问来源于stack exchange,提问作者fazen
相关产品推荐
相关产品推荐

