执行python tools\dev\v8gen.py x64.release编译V8报错如何解决
问题根源
错误日志中核心报错行:Command: C:/Users/moush/AppData/Local/Microsoft/WindowsApps/python3.exe E:/work_space/Technology_related/V88888/v8/build/vs_toolchain.py get_toolchain_dir Returned 9009
对应两个核心问题:
- 你当前编译的V8版本的
vs_toolchain.py脚本仅兼容Python2.7,但GN执行时默认调用了系统优先级更高的Python3 - Windows系统的应用执行别名优先级高于你配置的Python2.7,导致脚本调用版本错误
修复步骤
1. 调整Python调用优先级
- 打开系统环境变量设置,把Python2.7的安装路径(默认是
C:\Python27\和C:\Python27\Scripts)移动到Path列表的最顶部,优先级高于C:/Users/moush/AppData/Local/Microsoft/WindowsApps/路径 - 打开cmd执行
where python,确认返回的第一个路径是Python2.7的安装路径,再执行python --version确认输出为2.7.x版本
2. 关闭Windows自带Python别名
- 打开Windows设置→应用→应用和功能→高级应用设置→应用执行别名
- 关闭
python.exe和python3.exe的别名开关,避免系统自动跳转至微软商店的Python版本
3. 补充VS识别环境变量(可选)
如果本地VS2017识别异常,可在当前编译cmd窗口额外执行以下命令:
set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community set VS150COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\
注意路径替换为你自己的VS2017实际安装路径
4. 重新执行生成命令
先删除之前生成的错误输出目录,再重新执行生成脚本:
rmdir /s /q out.gn\x64.release python tools\dev\v8gen.py x64.release
如果仍提示VS版本识别错误,可打开生成的out.gn\x64.release\args.gn文件,新增一行visual_studio_version = 2017后重新执行上述命令即可。
内容的提问来源于stack exchange,提问作者mosh
相关产品推荐
相关产品推荐

