使用PyInstaller编译程序时遇No module named 'charset_normalizer.md__mypyc'错误
解决PyInstaller编译时找不到
charset_normalizer.md__mypyc的问题 实用解决方案
强制安装charset-normalizer的纯Python版本
部分版本的charset-normalizer会包含mypyc编译的字节码文件,但PyInstaller无法正确识别这类文件。可以直接安装不带编译优化的版本:pip install charset-normalizer --no-binary :all:安装完成后重新执行编译操作。
在spec文件中手动添加缺失模块
如果上面的方法无效,直接在PyInstaller生成的spec文件里,把缺失的模块加入hiddenimports列表:a = Analysis( ['你的脚本文件名.py'], pathex=[], binaries=[], datas=[], hiddenimports=['charset_normalizer.md__mypyc'], hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], noarchive=False, )之后用这个spec文件编译:
pyinstaller 你的脚本文件名.spec回退到9月初的兼容版本组合
既然当时能正常编译,直接安装对应版本的依赖:# 示例版本组合,可根据实际情况调整 pip install pyinstaller==5.13.2 charset-normalizer==3.2.0安装后删除项目下的
build、dist文件夹,清空编译缓存后重新编译。清理PyInstaller编译缓存
残留的缓存文件可能导致异常,执行清理命令后重新编译:pyinstaller --clean 你的脚本文件名.py也可以手动删除项目目录下的
build、dist文件夹和.spec文件,再重新生成编译文件。
内容的提问来源于stack exchange,提问作者PythonNewbie
相关产品推荐
相关产品推荐

