From f3592aef055391c95bd6beb7fb38f54b8d9cd4c3 Mon Sep 17 00:00:00 2001 From: RoomWithOutRoof <166608075+Jah-yee@users.noreply.github.com> Date: Thu, 19 Mar 2026 07:20:34 +0800 Subject: [PATCH 1/2] Fix sysconfig.get_platform() for truncated sys.version on Windows On Windows, sysconfig.get_platform() checks for 'amd64' in sys.version to detect 64-bit builds. However, sys.version can be truncated (e.g., ~100 chars on clang builds), causing 'amd64' to be missing and returning 'win32' incorrectly. This fix adds sys.maxsize > 2**32 as a fallback check, which is reliable even when sys.version is truncated. Also reorders arm64 check before arm32 for proper precedence. Fixes: python/cpython#145410 --- Lib/sysconfig/__init__.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py index 8ff9c99435bb1aa..1f780bc8f44ec00 100644 --- a/Lib/sysconfig/__init__.py +++ b/Lib/sysconfig/__init__.py @@ -665,12 +665,17 @@ def get_platform(): For other non-POSIX platforms, currently just returns :data:`sys.platform`.""" if os.name == 'nt': + # Check for architecture in sys.version first, then fall back to sys.maxsize + # which is reliable even when sys.version is truncated (e.g., clang builds on Windows) if 'amd64' in sys.version.lower(): return 'win-amd64' - if '(arm)' in sys.version.lower(): - return 'win-arm32' + if sys.maxsize > 2**32: + # 64-bit Windows where sys.version may be truncated + return 'win-amd64' if '(arm64)' in sys.version.lower(): return 'win-arm64' + if '(arm)' in sys.version.lower(): + return 'win-arm32' return sys.platform if os.name != "posix" or not hasattr(os, 'uname'): From 363651e65195bc5637029eeb08b71aab1f6651e3 Mon Sep 17 00:00:00 2001 From: RoomWithOutRoof Date: Fri, 17 Apr 2026 00:58:34 +0800 Subject: [PATCH 2/2] Fix macOS Python Launcher reported as iOS app in System Profiler Add CFBundleSupportedPlatforms key with MacOSX to the Info.plist to properly identify the Python Launcher as a macOS application on Apple Silicon systems. Fixes python/cpython#137673 --- Mac/PythonLauncher/Info.plist.in | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Mac/PythonLauncher/Info.plist.in b/Mac/PythonLauncher/Info.plist.in index ce8f27cd7d4de70..0d090f5a1fef1e7 100644 --- a/Mac/PythonLauncher/Info.plist.in +++ b/Mac/PythonLauncher/Info.plist.in @@ -57,6 +57,10 @@ %VERSION% CFBundleSignature PytL + CFBundleSupportedPlatforms + + MacOSX + CFBundleVersion %VERSION% NSMainNibFile