使用cx_freeze打包时出现[Errno 2]文件或目录不存在错误求助
cx_freeze打包报错:找不到importlib/resources/abc.pyc的解决办法
以下是几个可行的解决步骤:
- 清理旧构建目录:直接删除生成的
build文件夹,避免残留文件导致冲突,之后重新执行python setup.py build - 更新cx_freeze到最新版:旧版本对Python 3.9的importlib模块支持可能存在缺陷,执行命令
pip install --upgrade cx-freeze完成更新 - 调整setup.py配置:在build_exe选项中显式包含相关模块,确保cx_freeze正确处理importlib资源。示例配置如下:
from cx_Freeze import setup, Executable executables = [Executable("你的脚本文件名.py")] setup( name="你的应用名称", version="1.0", description="应用描述", executables=executables, options={ "build_exe": { "includes": ["importlib.resources", "importlib.abc"], } } )
- 手动补充缺失文件:找到你Python安装目录下
Lib\importlib\resources\abc.py文件,复制到build\exe.win-amd64-3.9\lib\importlib\resources路径下,再重新执行打包命令 - 重建虚拟环境:如果当前Python环境存在损坏,创建新的虚拟环境,重新安装cx_freeze和项目依赖后再尝试打包
内容的提问来源于stack exchange,提问作者takoringcandy
相关产品推荐
相关产品推荐

