Windows修改注册表后仍提示LongPath未启用 无法安装TensorFlow
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: 'C:\Users\obrie\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\tensorflow\include\external\com_github_grpc_grpc\src\core\ext\filters\client_channel\lb_policy\grpclb\client_load_reporting_filter.h'
HINT: This error might have occurred since this system does not have Windows Long Path support enabled.
修改注册表后仍报错,需补充以下配置:
1. 启用组策略长路径支持
仅修改注册表对部分系统不生效,需同步配置组策略:
- 按下
Win+R输入gpedit.msc打开本地组策略编辑器 - 依次定位到计算机配置 > 管理模板 > 系统 > 文件系统
- 找到「启用 Win32 长路径」选项,双击设置为「已启用」,保存后重启计算机
如果是Windows家庭版没有本地组策略编辑器,可直接以管理员身份运行命令提示符执行以下命令,执行完成后重启即可:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f
2. 更换Python分发版本
你当前使用的是Windows应用商店版Python,该版本的用户数据目录强制嵌套在C:\Users\用户名\AppData\Local\Packages\路径下,前缀本身长度很高,就算开启长路径支持也存在适配问题。建议卸载商店版Python,从Python官方网站下载对应版本的安装包,安装时勾选「Add Python to PATH」,同时勾选安装界面底部的「Disable path length limit」选项,完成Python侧的长路径适配。
3. 无系统修改临时规避方案
如果不想改动系统配置,可通过缩短安装路径的方式直接完成安装:
- 创建短路径虚拟环境:在磁盘根目录新建文件夹,比如
C:\tf,执行python -m venv C:\tf\venv,激活虚拟环境后再执行pip install tensorflow即可 - 临时指定pip缓存与安装路径:执行安装命令时指定短路径的缓存目录和安装目录:
pip install tensorflow --cache-dir C:\pip_cache --target C:\tf\site-packages
4. 配套验证操作
完成以上配置后,可先升级pip到最新版本再执行安装,避免旧版pip适配问题:python -m pip install --upgrade pip
内容的提问来源于stack exchange,提问作者Richard O'Brien

