关于Windows 10 版本 1607 及更高版本中的长路径问题

先说我的结论:无需运行 gpedit.msc 设置“启用 Win32 长路径” ,Windows 10 版本 1607 及更高版本系统就已经支持长路径了,为了保险起见,还是设置启用吧。

然后不用再怀疑你的操作系统是否支持长路径了,我之前就怀疑是否因为我的神州网信政府版原因,有限制不支持长路径呢?结果我在Windows server2019的资源管理器上也无法建立长路径,才继续深入找原因。

1、---起因--------------------------------------------------------------------------------

最近因为在编译python wheel 时,遇到了这样的错误信息:

    creating C:\Users\Monday\AppData\Local\Temp\pip-install-4ls6iq2w\xformers_bcf4f67735df4e9aae791b64a7228251\build\temp.win-amd64-cpython-312\Release\Users\Monday\AppData\Local\Temp\pip-install-4ls6iq2w\xformers_bcf4f67735df4e9aae791b64a7228251\third_party\flash-attention\csrc\flash_attn\src

    cl: 命令行 warning D9025 :正在重写“/D__CUDA_NO_HALF_OPERATORS__”(用“/U__CUDA_NO_HALF_OPERATORS__”)

    fatal   : Could not open output file C:\Users\Monday\AppData\Local\Temp\pip-install-4ls6iq2w\xformers_bcf4f67735df4e9aae791b64a7228251\build\temp.win-amd64-cpython-312\Release\Users\Monday\AppData\Local\Temp\pip-install-4ls6iq2w\xformers_bcf4f67735df4e9aae791b64a7228251\third_party\flash-attention\csrc\flash_attn\src\flash_bwd_hdim192_bf16_causal_sm80.obj.d

有网上说是因为Windows不支持长路径导致,根据网上关于如何启用Windows长路径支持,一顿猛操作,错误依然(其实应该是上面上一行的错误原因,导致文件没有创建而已,并不是长路径问题导致,而且第1行中建立长路径,也没有出错)。

2、---探索--------------------------------------------------------------------------------

于是我就想,我是不是可以手工试试是否支持长路径呢?

于是就在资源管理器里面建立长路径,咦,还真是建立不了哦,路径长度到达248个左右的字符长度后,便不能再建立路径了:

直到看了这篇文章《Even with LongPathsEnabled set to 1, Windows 10 Explorer doesn't seem to support long paths》 以及这篇文章《windows10操作系统文件名和路径名长度的严重问题》,并通过测试才发现,原来只是在Windows10的资源管理器里面无法建立长路径而已(资源管理器是能浏览长路径的)。通过支持长路径的应用,例如power shell等,是可以建立操作长路径的(路径长度达到了286个字符,可以更长):

而且无需运行 gpedit.msc 设置“启用 Win32 长路径” ,即是说系统已经支持长路径了。

 在微软官网《在 Windows 10 版本 1607 及更高版本中启用长路径》中提到:

 

我的理解是,这些函数不再具有MAX_PATH限制,已经支持长路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值