当前位置: 首页 > news >正文

【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. 封面图:CSDN 发文时建议配一张带有 Python Logo 或 报错截图 的图片,点击率会更高。

http://www.jsqmd.com/news/275339/

相关文章:

  • 深夜调模型的工程师都懂,燃油车和电动车之间总得有个“和事佬“——增程器。今天咱们聊的这个Cruise仿真模型,就是要把这个中间商做出价值
  • 《把脉行业与技术趋势》-72-伟大的组织,不只是会收割,更要会培育土壤。“春天开荒播种是为了秋天收获果实”。
  • 【python实用小脚本-336】HR如何用Python改造敏感信息传递流程?信息安全×代码的化学反应,轻松实现音频隐写术
  • 【2026开年巨献】Gemini 3.0全面解析:从技术原理到商业落地,开发者不可错过的AI革命指南
  • 【GoFrame (GF) 】高性能、模块化、企业级的 Go 语言开发框架
  • 【计算机毕业设计案例】基于springboot+大数据技术旅游商品管理系统大数据毕设选题推荐:基于大数据技术旅游商品管理系统基于springboot+大数据技术旅游商品管理系(程序+文档+讲解+定制)
  • 【2026 深度观察】大模型战国时代:中美双极、四强争霸与生态分化
  • 同步FIFO的三种写法各有特点。计数器法直接用读写计数器差值判断空满,适合小深度场景。举个例子,当depth=1时可以直接用寄存器存储数据
  • 大数据领域 Elasticsearch 集群搭建全流程
  • 自动聊天工具尝试一(寻找方向)
  • 一个python笔试题及扩展
  • 支持付费内容与广告的社区论坛小程序商业化运营源码系统
  • 2025年最受物流企业青睐的自动化立体库解决方案TOP 5,贯通式货架/中型货架/平台货架/轻型货架/重型货架自动化立体库公司有哪些
  • 永久关闭windows系统的自动更新的6种方法 详细介绍
  • 详细介绍:PHP 8.0到PHP 8.5各版本主要新特性的整理
  • 盘点2026年EOR名义雇主服务优势,教你如何选择EOR名义雇主高效产品推荐
  • 猎奇榜
  • Product Hunt 每日热榜 | 2026-01-20
  • 经营范围填写指南
  • 通达信【万马奔腾V8】主图与选股指标源码分享
  • 和vvv
  • Python 中subprocess.getstatusoutput(cmd) 函数注入命令风险分析
  • ARM嵌入式开发代码实践——LED灯闪烁(C语言版)
  • 突破想象!AI应用架构师用科研AI智能体重塑金融学分析格局
  • Qt的技巧笔记(二):ComboBox 下拉组合框组件
  • stm32TIM输入捕获基本结构
  • 计算机大数据毕设实战-基于springboot+大数据技术旅游商品智能推荐管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 【深度解析x-algorithm】XAI-org开源的通用算法引擎核心技术与实践
  • 本地Python脚本是否存在命令注入风险
  • 收藏!2026年AI浪潮下,Java程序员的出路与三大黄金风口