使用PyInstaller打包Python脚本为可执行文件时的报错求助
解决PyInstaller打包时的
_bootlocale及后续属性错误 方案1:匹配PyInstaller与Python版本
- 检查你的Python版本,安装对应兼容的PyInstaller版本:
- Python 3.8-3.10:适配PyInstaller 4.x或5.x稳定版
- Python 3.11+:需使用PyInstaller 5.8.0及以上版本
- 执行命令升级或重新安装:
pip install --upgrade pyinstaller # 或指定具体兼容版本 pip install pyinstaller==5.13.0
方案2:不排除模块,手动修复依赖问题
- 不要使用
--exclude-module _bootlocale参数,改为强制包含该内部模块:pyinstaller Gunshop.py --hidden-import=_bootlocale - 检查Python安装目录下的
Lib文件夹,确认_bootlocale.py文件存在。若缺失,说明Python安装不完整,重新安装对应版本的Python即可。
方案3:修复AttributeError: 'NoneType' object has no attribute 'groups'
该错误多因PyInstaller解析路径时正则匹配失败,可尝试以下操作:
- 清理打包缓存:删除项目目录下的
build、dist文件夹和Gunshop.spec文件,重新执行打包命令。 - 用干净虚拟环境打包:
# 创建虚拟环境 python -m venv venv # Windows激活环境 venv\Scripts\activate # Linux/macOS激活环境 source venv/bin/activate # 安装项目依赖和PyInstaller pip install -r requirements.txt pip install pyinstaller # 重新打包 pyinstaller Gunshop.py - 检查项目路径及文件名,若存在中文、空格或特殊符号,修改为纯英文路径后重试。
内容的提问来源于stack exchange,提问作者farid fehresti
相关产品推荐
相关产品推荐

