Win10下pip/pip3报PermissionError(WinError32)无法使用求助
pip触发WinError 32临时文件占用报错解决方法
执行任意pip/pip3操作时抛出如下错误:
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\<本地用户名>\\AppData\\Local\\Temp\\tmp<随机字符>'
该故障为Windows平台下pip运行时创建的临时文件被其他进程独占锁定导致,会阻断所有包安装、卸载、pip自升级操作,可按以下步骤逐一排查修复:
排查修复步骤
- 清理用户临时目录残留
按Win+R组合键调出运行窗口,输入%TEMP%回车打开当前用户的临时文件目录,按Ctrl+A全选所有文件后按Delete删除,遇到“文件正在占用”提示时直接选择跳过所有占用项即可,清除所有可删除的临时缓存文件。 - 结束文件占用进程
按Ctrl+Shift+Esc打开任务管理器,找到并结束以下类别的进程:- 后台残留的
python.exe、pythonw.exe、pip.exe进程 - 实时运行的杀毒、安全防护类软件(部分安全软件会对Temp目录新生成的文件做强制扫描,会长时间锁定文件导致pip无法访问,可临时退出防护后测试pip操作)
- 正在运行的安装向导、解压软件、本地文件同步类程序,这类程序也会频繁读写Temp目录文件造成锁定
- 后台残留的
- 提升命令行执行权限
在开始菜单找到「命令提示符」或「PowerShell」,右键选择「以管理员身份运行」,再执行对应的pip操作,排除普通用户权限不足导致的文件访问限制。 - 自定义pip临时目录绕过默认路径
若清理后仍报错,可以为pip指定独立的临时工作目录,避开系统Temp目录的文件抢占问题。单次执行命令时可直接加参数指定临时路径,示例:
执行命令前需要手动在C盘根目录创建名为pip install <需要安装的包名> --temp C:\pip_custom_temppip_custom_temp的空文件夹,避免路径不存在报错。如果需要永久生效,可新建/修改pip全局配置文件,路径为C:\Users\<你的用户名>\AppData\Roaming\pip\pip.ini,写入如下配置:[global] temp = C:\pip_custom_temp - 覆盖修复损坏的pip组件
以上操作均无效时,大概率是pip自身组件损坏,直接通过Python内置的ensurepip模块覆盖修复即可,在管理员权限的命令行中执行:
执行完成后重新测试pip操作即可恢复正常。python -m ensurepip --upgrade
内容的提问来源于stack exchange,提问作者Jason Li
相关产品推荐
相关产品推荐

