Windows10下git bash执行git commit提示找不到Python故障如何解决?
故障原因
该报错本质是Git执行commit关联的钩子脚本时,调用的Python路径未被系统正确识别,常见触发原因有两个:
- 项目配置了需要Python运行的Git钩子(如pre-commit、commit-msg),钩子脚本内调用
python命令,但Windows系统全局环境变量未配置Python路径,Git调用系统环境时无法读取Git Bash单独配置的PATH规则 - Windows 10默认开启Python别名重定向,会将未匹配到的
python命令跳转至微软商店,覆盖了本地安装的Python路径
修复步骤
- 第一步:禁用Windows Python别名重定向
打开「设置」→「应用」→「应用和功能」→ 点击右侧「高级应用设置」下的「应用执行别名」,找到python.exe和python3.exe两个选项,关闭对应开关即可。 - 第二步:将Python路径添加到系统全局环境变量
Git Bash内可识别Python是因为路径配置在用户级PATH或Git Bash专属环境变量中,Git执行钩子时调用的是系统级环境,需要手动添加:- 在Git Bash中执行
which python,获取Python实际安装路径,比如返回/c/Python27/python.exe,对应的Windows路径为C:\Python27和C:\Python27\Scripts - 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量列表中找到
Path,点击编辑后将上述两个路径添加到列表中,保存后重启所有终端窗口生效
- 在Git Bash中执行
- 第三步:验证配置
重启Git Bash后,先在系统自带cmd中执行python --version,如果能正常返回版本号,再回到项目目录执行git commit测试即可。 - 可选排查:检查项目Git钩子配置
如果上述操作后仍报错,进入项目根目录的.git/hooks文件夹,查看是否存在非.sample后缀的钩子文件(如pre-commit),打开文件查看首行shebang是否写死了错误的Python路径,可修改为你本地实际的Python路径;如果不需要用到钩子,直接删除对应非.sample后缀的钩子文件即可。
内容的提问来源于stack exchange,提问作者Akarsh KA
相关产品推荐
相关产品推荐

