Windows10下Python3.7报importlib._bootstrap无SourceFileLoader属性如何修复
Python 3.7 环境 AttributeError 报错修复方案
错误根因
该报错是安装socketIO时拉取了不兼容Python3.7的高版本依赖,覆盖损坏了Python核心importlib模块的内置属性,全局环境损坏后所有继承全局核心模块的虚拟环境都会触发相同报错。
可行修复步骤
方案1:核心文件替换(无需重装Python)
- 找一台运行正常的Windows10 + 相同小版本Python3.7的设备,拷贝其安装目录下
Lib\importlib文件夹的全部内容 - 关闭所有关联Python3.7的进程、终端、IDE,将拷贝的文件覆盖到本地Python3.7安装目录的对应
Lib\importlib路径 - 重启终端执行
pip list,无报错即核心模块修复完成 - 删除原有项目的虚拟环境,重新创建venv并安装项目依赖,即可正常执行
flask run
方案2:修复式重装Python3.7
- 下载和本地现有版本完全一致的Python3.7官方安装包
- 运行安装包选择「Repair」选项执行修复安装,无需卸载原有版本,已安装的第三方包不会丢失
- 安装完成后执行以下命令验证修复结果:
python -c "import importlib._bootstrap; print(hasattr(importlib._bootstrap, 'SourceFileLoader'))"
- 命令返回
True即修复成功,重新创建项目虚拟环境即可正常运行
方案3:兼容版本依赖锁定
修复完成后如果安装包仍触发报错,强制安装Python3.7兼容的最高稳定版setuptools即可:
pip install setuptools==59.6.0 --force-reinstall
后续在Python3.7环境下安装第三方包时,避免拉取高版本不兼容的依赖,可在requirements.txt中固定setuptools版本防止问题复现。
内容的提问来源于stack exchange,提问作者rauser
相关产品推荐
相关产品推荐

