必须勾选“Disable path length limit”安装选项,否则pip install大概率失败;该选项自动启用注册表LongPathsEnabled、确保PowerShell运行、pip≥21.3及Python长路径支持,缺一不可。

Disable path length limit 勾选与否,直接决定你后续能不能顺利 pip install 大多数现代 Python 包——不是“可能出问题”,而是“大概率失败”。
Windows 默认 260 字符路径限制(MAX_PATH)在 pip 解包阶段就会触发,报错形如:[WinError 206] The filename or extension is too long 或 OSError: [Errno 2] No such file or directory。这不是网络、权限或包损坏问题,是系统底层拒绝创建超长路径。
pip install 报 WinError 206 的真实原因
pip 下载完 wheel 后,会在临时目录(如 C:\Users\Alice\AppData\Local\Temp\pip-install-abc123\)里层层解压嵌套文件夹。像 tensorflow、volcengine-python-sdk、aws-cli 这类包,依赖树深、模块名长、路径拼起来轻松突破 260 字符。一旦 Windows API(如 CreateDirectoryW)收到超长路径且未启用长路径支持,就直接返回错误——而错误信息却显示“文件不存在”,极具迷惑性。
- PyCharm/VS Code 有时能装成功,是因为它们悄悄用了短路径启动 Python 或绕过了部分临时目录逻辑,掩盖了问题
-
python -m venv myenv失败也是同一机制:虚拟环境构建过程同样依赖临时路径展开 - 错误路径越长(含中文用户名、深层项目目录、长虚拟环境名),越早触发
只改注册表 ≠ 能用长路径
很多人以为改了 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled 为 1 就万事大吉,但实际还需三个条件同时满足:
立即学习“Python免费学习笔记(深入)”;
图片提示词生成器?不止如此。 马甲系统 —— 把脑海中的画面,翻译成AI能理解的专业表达。 用得越多,它越懂你:首次需要多问几句确认方向,用久了几乎一说就懂。 用得越多,它越快:缓存机制让后续对话越来越省。 RAG进化:成功案例持续入库,越跑越聪明。 输入「新手指南」查看完整功能介绍
- 运行环境必须是 PowerShell(不是
cmd.exe),因为cmd不传递长路径上下文给子进程 -
pip版本 ≥ 21.3(2021 年后发布),旧版 pip 内部没适配\?\前缀路径逻辑 - Python 运行时需识别该设置:执行
python -c "import os; print(os.path.supports_long_paths)"必须输出True;若为False,说明当前 Python 进程仍走传统路径 API
安装时勾选 Disable path length limit 是最省事的方案
Python 官方安装包内置的这个选项,本质就是以管理员权限自动完成三件事:
- 写入
LongPathsEnabled=1到注册表 - 确保当前用户上下文启用该设置(比手动改 HKLM 更稳妥)
- 避免你漏掉重启、漏选 PowerShell、或误用旧 pip
如果你已跳过这一步,现在补救要手动改注册表 + 重启 + 检查 os.path.supports_long_paths + 换 PowerShell + 升级 pip —— 五步缺一不可。而安装时打个勾,5 秒解决。
临时绕过方案不等于长期解法
比如把 TEMP 改成 C:\tmp 或用 --target C:\pkgs,确实能让你立刻装上包,但这些只是“挪地方”:包本身路径依然脆弱,CI/CD 流水线、团队协作、新虚拟环境都会反复踩坑。
真正容易被忽略的点是:这个开关影响的是整个 Python 生态链路——从 venv 创建、pip install、到第三方构建工具(如 setuptools、wheel)调用文件 API 的行为。它不是某个命令的开关,而是底层路径能力的准入门槛。

















