You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CMake构建过程中安装Python至用户目录失败问题排查

问题分析与解决方案

核心问题定位

日志里的0x80070002错误是文件未找到,从报错上下文看,安装程序尝试调用py.exe执行C:\Users\kalen\Documents\PythonTest\Lib\compileall.py时找不到该文件,结合你的命令和日志,存在两个明显问题:

  1. 参数混淆:你用了MSI安装包的TargetDir参数,但Python 3.10的EXE安装包需要用InstallDir指定自定义路径
  2. 路径不一致:命令里写的是C:\Users\MyUser\...,但日志里实际是C:\Users\kalen\...,路径中的用户名不匹配

具体修复步骤

  • 修正安装参数:把TargetDir替换为InstallDir,同时统一路径中的用户名,示例命令:
    .\python-3.10.7-amd64.exe /quiet /log "C:\Users\kalen\Documents\python_install.log" InstallDir="C:\Users\kalen\Documents\PythonTest"
    
  • 以管理员身份执行:无论是运行CMake还是直接执行安装命令,都要右键选择「以管理员身份运行」,避免UAC确认后后续步骤权限不足
  • 跳过编译步骤(临时测试):如果只是想先验证安装流程,可以添加CompileAll=0参数跳过.pyc文件编译,绕开当前报错的环节:
    .\python-3.10.7-amd64.exe /quiet /log "C:\Users\kalen\Documents\python_install.log" InstallDir="C:\Users\kalen\Documents\PythonTest" CompileAll=0
    
  • 使用完整离线安装包:如果你用的是Web安装包,换成Python官网的Full Installer(包含所有组件的EXE包),避免联网下载组件导致的异常

旧版本MSI安装包注意事项

如果尝试旧版本MSI格式安装包,参数要换回TargetDir,同时添加ALLUSERS=1(全局安装)或ALLUSERS=2(当前用户安装)参数,示例:

msiexec /i python-3.7.15-amd64.msi /quiet /log install.log TargetDir="C:\Users\kalen\Documents\PythonTest" ALLUSERS=2

内容的提问来源于stack exchange,提问作者Kalen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 16:10:25