根本原因是用户对%temp%或%tmp%目录无写权限,或路径配置异常、被安全软件拦截;需检查环境变量指向、ntfs权限及关闭实时保护。

为什么Python安装程序报错“无法写入临时文件夹”
根本原因不是磁盘满了,而是安装程序尝试往系统 %TEMP% 或 %TMP% 目录写入解压后的安装包(如 python-3.12.4-amd64.exe 会先释放到临时目录再执行),但当前用户对该路径没有写权限,或路径本身被重定向/损坏。常见于企业域环境、杀毒软件拦截、或手动修改过环境变量。
检查并修复 TEMP 环境变量指向的目录
打开命令提示符,运行:
echo %TEMP%确认输出是否为一个真实存在的、可写的路径(如
C:UsersAliceAppDataLocalTemp)。如果返回空、乱码、或类似 %USERPROFILE%AppDataLocalTemp 这种未展开的变量形式,说明环境变量配置异常。
- 右键“此电脑” → “属性” → “高级系统设置” → “环境变量”,检查用户级和系统级的
TEMP与TMP是否一致,且都指向一个短路径、无空格、无中文的本地目录 - 避免指向网络路径(如
\server emp)、OneDrive 同步目录或受控文件夹(如 Windows 安全中心启用的“受控文件夹访问”) - 若路径存在但不可写,右键该文件夹 → “属性” → “安全” → 编辑当前用户的“完全控制”权限(勾选“允许”)
用管理员身份运行 + 临时关闭安全软件
即使你有管理员账户,Windows 默认也不会把 %TEMP% 的写权限自动授予安装进程——尤其当安装包是通过浏览器下载、被标记为“来自互联网”时。此时双击安装会静默失败。
- 右键下载好的
python-*.exe文件 → “以管理员身份运行” - 临时禁用 Windows Defender 实时保护:设置 → 更新与安全 → Windows 安全中心 → 病毒和威胁防护 → 管理设置 → 关闭“实时保护”(安装完立即打开)
- 某些国产杀软(如 360、腾讯电脑管家)会劫持
CreateProcess并拦截临时文件创建,安装前建议退出其主进程
绕过临时目录:直接使用 /quiet /norestart 参数静默安装
如果你已确认权限无误但仍失败,可跳过图形化安装器的临时解压流程,让 MSI 引擎直接处理。
- 先用 7-Zip 或
lessmsi工具打开python-*.exe,提取出内部的python-*.msi文件 - 在管理员命令行中执行:
msiexec /i "python-3.12.4-amd64.msi" /quiet InstallAllUsers=1 PrependPath=1
(/quiet不依赖临时目录,InstallAllUsers=1需管理员权限) - 注意:MSI 安装不触发 pip 升级和 tcl/tk 组件自动注册,如需完整功能,安装后仍要手动运行
python -m pip install --upgrade pip
真正卡住的地方往往不是磁盘空间,而是 Windows 对“临时位置”的信任链断裂——从环境变量展开、到 NTFS 权限、再到安全软件的进程监控,任何一环松动都会让安装器在写第一个 .cab 文件时就抛出“无法写入临时文件夹”。动手前先 echo %TEMP% 和 icacls "%TEMP%" /whoami 看一眼,比盲目清空磁盘有用得多。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











