diff options
author | Steve Dower <steve.dower@microsoft.com> | 2016-09-07 03:40:11 (GMT) |
---|---|---|
committer | Steve Dower <steve.dower@microsoft.com> | 2016-09-07 03:40:11 (GMT) |
commit | 19ab0fd456a79fa1fdfdb543ac423723667cb2d0 (patch) | |
tree | 9e0ac0a9a9945852948d90a6282f925453448b09 | |
parent | 437df905370b1f49f24c4ebce13db1ff63c3c378 (diff) | |
download | cpython-19ab0fd456a79fa1fdfdb543ac423723667cb2d0.zip cpython-19ab0fd456a79fa1fdfdb543ac423723667cb2d0.tar.gz cpython-19ab0fd456a79fa1fdfdb543ac423723667cb2d0.tar.bz2 |
Issue #27731: Opt-out of MAX_PATH on Windows 10
-rw-r--r-- | Doc/using/windows.rst | 25 | ||||
-rw-r--r-- | Doc/whatsnew/3.6.rst | 5 | ||||
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | PC/python.manifest | 7 |
4 files changed, 37 insertions, 2 deletions
diff --git a/Doc/using/windows.rst b/Doc/using/windows.rst index 3f6b68d..b703f0a 100644 --- a/Doc/using/windows.rst +++ b/Doc/using/windows.rst @@ -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 diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst index fde5159..6a1eccf 100644 --- a/Doc/whatsnew/3.6.rst +++ b/Doc/whatsnew/3.6.rst @@ -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 ------ @@ -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 diff --git a/PC/python.manifest b/PC/python.manifest index d6e4bba..4e73d60 100644 --- a/PC/python.manifest +++ b/PC/python.manifest @@ -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>
\ No newline at end of file +</assembly> |