【Python】解决 Windows 下 pip 安装报错 OSError: [Errno 2] No such file or directory (路径过长问题)

【Python】解决 Windows 下 pip 安装报错 OSError: [Errno 2] No such file or directory (路径过长问题)

目录

【Python】解决 Windows 下 pip 安装报错 OSError: [Errno 2] No such file or directory (路径过长问题)

1. 问题描述

2. 原因分析

3. 解决方案

方案一:修改临时目录路径(最快,无需重启)

方案二:解除 Windows 路径长度限制(一劳永逸)

4. 总结

给您的建议(发文前可看):


【Python】解决 Windows 下 pip 安装报错 OSError: [Errno 2] No such file or directory (路径过长问题)

1. 问题描述

在使用 pip 安装某些 Python 包(特别是像 volcengine-python-sdkaws-cli 或深度学习相关的这种目录层级很深的 SDK 包)时,突然爆出如下错误:

报错信息示例:

Bash

ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: 'C:\\Users\\Administrator\\AppData\\Local\\Temp\\pip-install-ml1b_jcg\\volcengine-python-sdk_dd84aee360a44c31af85b7de292e2695\\volcenginesdktransitrouter\\models\\transit_router_traffic_qos_marking_policy_for_describe_transit_router_traffic_qos_marking_policies_output.py' 

乍一看以为是文件丢失或者权限问题,但仔细观察报错路径,发现文件路径异常的长。

2. 原因分析

这个问题的根本原因在于 Windows 系统默认的文件路径长度限制(MAX_PATH)

  • MAX_PATH 限制:Windows API 默认定义的最大路径长度为 260 个字符
  • Pip 的安装机制:Pip 在安装包时,会先将其解压到系统的临时目录(通常是 C:\Users\用户名\AppData\Local\Temp\...)。
  • 冲突点:如果你安装的包本身目录结构就很深(如上面的 volcengine-python-sdk),文件名又很长,再加上 Windows 冗长的临时目录前缀,总路径长度很容易就超过了 260 个字符,导致系统无法写入或读取该文件,从而抛出 [Errno 2] No such file or directory

3. 解决方案

针对这个问题,有两种解决方案:一种是临时规避(推荐快速解决),一种是永久解除限制(推荐开发环境配置)。

方案一:修改临时目录路径(最快,无需重启)

既然问题出在路径太长,我们可以通过设置环境变量,把 pip 的临时工作目录指定到一个极短的路径(例如 C:\tmp),从而“腾出”更多的字符空间给文件名。

操作步骤:

  1. 在 C 盘根目录下新建一个文件夹,命名为 tmp
  2. 在命令行中设置临时环境变量,并重新执行安装命令。

CMD (命令提示符) 用户执行:

DOS

set TEMP=C:\tmp set TMP=C:\tmp pip install volcengine-python-sdk 

PowerShell 用户执行:

PowerShell

$env:TEMP="C:\tmp" $env:TMP="C:\tmp" pip install volcengine-python-sdk 

注意:这种方式只在当前终端窗口有效,关闭后环境变量会恢复默认,不会影响系统其他软件的运行。


方案二:解除 Windows 路径长度限制(一劳永逸)

如果你是 Windows 10 (版本1607及以上) 或 Windows 11 用户,可以直接在注册表中解除 260 字符的限制。

操作步骤:

  1. 按下 Win + R 键,输入 regedit 并回车,打开注册表编辑器。
  2. 在地址栏输入或逐级定位到以下路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
  3. 在右侧列表中找到名为 LongPathsEnabled 的项。
    • 如果找不到,请右键空白处 -> 新建 -> DWORD (32位) 值,命名为 LongPathsEnabled
  4. 双击 LongPathsEnabled,将其数值数据修改为 1
  5. 点击确定,关闭注册表。
  6. 重要: 重启电脑(或重启你的 IDE/终端)使配置生效。

生效后,Python 和 Git 等工具就可以支持超过 260 字符的长路径了。

4. 总结

在 Windows 上开发 Python 项目时,路径过长是一个老生常谈的坑。

  • 如果是临时遇到这个问题,建议使用方案一,简单快捷,没有副作用。
  • 如果是长期使用 Windows 进行开发,建议使用方案二彻底修改注册表,避免以后安装其他大型库(如 TensorFlow, PyTorch 等)时再次踩坑。

希望这篇文章能帮到遇到同样问题的你,如果有帮助请点赞收藏!


给您的建议(发文前可看):

  1. 标签建议:选择 PythonPipWindows运维Bug调试
  2. 摘要建议:在 Windows 使用 pip 安装 Python 包时报错 OSError: [Errno 2] No such file or directory,通常是由于 MAX_PATH 路径长度限制导致的。本文介绍了两种解决方法:修改临时环境变量和修改注册表解除限制。
  3. 封面图:ZEEKLOG 发文时建议配一张带有 Python Logo 或 报错截图 的图片,点击率会更高。

Read more

昔日AI绘画框架王者Stable Diffusion WebUI,已死

昔日AI绘画框架王者Stable Diffusion WebUI,已死

写在前面 【WeThinkIn出品】栏目分享Rocky的认知思考与经验感悟,范围涵盖但不限于AI行业。 欢迎大家关注Rocky的公众号:WeThinkIn 欢迎大家关注Rocky的知乎:Rocky Ding AIGC算法工程师面试面经秘籍分享:WeThinkIn/Interview-for-Algorithm-Engineer欢迎大家Star~ 获取更多AI行业的前沿资讯与干货资源 AIGC时代的 《三年面试五年模拟》AI算法工程师求职面试秘籍独家资源:【三年面试五年模拟】AI算法工程师面试秘籍 Rocky最新撰写10万字Stable Diffusion 3和FLUX.1系列模型的深入浅出全维度解析文章:深入浅出完整解析Stable Diffusion 3(SD 3)和FLUX.1系列核心基础知识 AIGC算法岗/开发岗面试面经交流社群(涵盖AI绘画、AI视频、大模型、AI多模态、数字人等AIGC面试干货资源)欢迎大家加入:https://t.zsxq.com/33pJ0 大家好,我是Rocky。 “还记得我们第一次打开Stable Diffusion WebUI,用上第

MK米客方德SD NAND:无人机存储的高效解决方案

MK米客方德SD NAND:无人机存储的高效解决方案

在无人机技术迅猛发展的当下,飞控系统的数据记录对于飞行性能剖析、故障排查以及飞行安全保障极为关键。以往,SD 卡是飞控 LOG 记录常见的存储介质,但随着技术的革新,新的存储方案不断涌现。本文聚焦于以 ESP32 芯片为主控制器的无人机,创新性采用 SD NAND 芯片 MKDV32GCL-STPA 芯片进行 SD NAND 存储,测试其在飞控 LOG 记录功能中的表现。 米客方德 SD NAND 芯片特性 免驱动优势:与普通存储设备不同,在该应用场景下,SD NAND 无需编写复杂的驱动程序。这极大地简化了开发流程,缩短了开发周期,减少了潜在的驱动兼容性问题,让开发者能够更专注于实现核心功能。 自带坏块管理功能:存储设备出现坏块难以避免,而 MKDV32GCL - STPA 芯片自带的坏块管理机制可自动检测并处理坏块。这确保了数据存储的可靠性,避免因坏块导致的数据丢失或错误写入,提升了整个存储系统的稳定性。 尺寸小巧与强兼容性:

我为什么放弃传统修图软件,改用Mac Luminar Neo?真实体验全说透

一款把“复杂修图”变成“傻瓜操作”的 Mac 神器 说实话,现在不管你是做自媒体、电商、摄影,还是单纯喜欢拍照,修图几乎已经成了“刚需技能”。问题是,大多数修图软件对普通用户真的不友好:参数一大堆,工具一箩筐,新手点进去就是懵。 而 Luminar Neo 的思路,刚好反过来——它不逼你学专业,而是用 AI 帮你“自动理解照片”。 这次更新到 v1.25.1 版本,还是 Mac 专用的中文激活版,同时兼容 Intel 芯片和 M 系列芯片,门槛进一步被拉低。简单一句话总结:它不是给“修图大神”准备的,而是给“想把照片变好看的人”准备的。

AstrBot+NapCat 一键部署 5 分钟搞定智能 QQ 机器人!cpolar解决公网访问 :cpolar 内网穿透实验室第 777 个成功挑战

AstrBot+NapCat 一键部署 5 分钟搞定智能 QQ 机器人!cpolar解决公网访问 :cpolar 内网穿透实验室第 777 个成功挑战

这篇教程会带你用最简单的方式:**只用一份 docker-compose,一次命令,5 分钟以内完成 AstrBot + NapCat 部署,把 DeepSeekAI 接入你的 QQ。**AstrBot 本身就是为 AI 而生的现代化机器人框架,插件丰富、支持 DeepSeek/OpenAI 等大模型、带 WebUI、可扩展性强,真正做到"搭好就能用"。照着做,你马上就能拥有属于自己的 QQ AI 机器人。 1 项目介绍 1.1 AstrBot是什么? GitHub 仓库:https://github.com/AstrBotDevs/AstrBot AstrBot 是一个专为 AI 大模型设计的开源聊天机器人框架,