Issue #27731: Opt-out of MAX_PATH on Windows 10

This commit is contained in:
Steve Dower 2016-09-06 20:40:11 -07:00
parent 437df90537
commit 19ab0fd456
4 changed files with 37 additions and 2 deletions

View file

@ -74,6 +74,31 @@ installation". In this case:
* If selected, the install directory will be added to the system :envvar:`PATH`
* Shortcuts are available for all users
.. _max-path:
Removing the MAX_PATH Limitation
--------------------------------
Windows historically has limited path lengths to 260 characters. This meant that
paths longer than this would not resolve and errors would result.
In the latest versions of Windows, this limitation can be expanded to
approximately 32,000 characters. Your administrator will need to activate the
"Enable Win32 long paths" group policy, or set the registry value
``HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem@LongPathsEnabled``
to ``1``.
This allows the :func:`open` function, the :mod:`os` module and most other
path functionality to accept and return paths longer than 260 characters when
using strings. (Use of bytes as paths is deprecated on Windows, and this feature
is not available when using bytes.)
After changing the above option, no further configuration is required.
.. versionchanged:: 3.6
Support for long paths was enabled in Python.
.. _install-quiet-option:
Installing Without UI

View file

@ -83,6 +83,10 @@ Windows improvements:
command line arguments or a config file). Handling of shebang lines
remains unchanged - "python" refers to Python 2 in that case.
* ``python.exe`` and ``pythonw.exe`` have been marked as long-path aware,
which means that when the 260 character path limit may no longer apply.
See :ref:`removing the MAX_PATH limitation <max-path>` for details.
.. PEP-sized items next.
.. _pep-4XX:
@ -507,7 +511,6 @@ The Linux ``getrandom()`` syscall (get random bytes) is now exposed as the new
:func:`os.getrandom` function.
(Contributed by Victor Stinner, part of the :pep:`524`)
pickle
------

View file

@ -237,6 +237,8 @@ Build
Windows
-------
- Issue #27731: Opt-out of MAX_PATH on Windows 10
- Issue #6135: Adds encoding and errors parameters to subprocess.
- Issue #27959: Adds oem encoding, alias ansi to mbcs, move aliasmbcs to

View file

@ -16,10 +16,15 @@
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
</dependentAssembly>
</dependency>
</assembly>
</assembly>