-
-
Notifications
You must be signed in to change notification settings - Fork 34.2k
Open
Labels
stdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directorytopic-sysconfigtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Bug description:
Unfortunately, this line of code does not work on 32-bit ARM Python 3.13 when it is running on an Android device that has a 32-bit ARM /system folder but a 64-bit ARM kernel.
cpython/Lib/sysconfig/__init__.py
Line 703 in 9159287
| "armv7l": "armeabi_v7a", |
On 32-bit ARM Python 3.13 when it is running on an Android device that has a 32-bit ARM /system folder but a 64-bit ARM kernel, this command (and any other pip command):
pip install packagingunfortunately results in this error:
ERROR: Exception:
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/cli/base_command.py", line 107, in _run_wrapper
status = _inner_run()
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/cli/base_command.py", line 98, in _inner_run
return self.run(options, args)
~~~~~~~~^^^^^^^^^^^^^^^
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/cli/req_command.py", line 96, in wrapper
return func(self, options, args)
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/commands/install.py", line 391, in run
resolver = self.make_resolver(
preparer=preparer,
...<8 lines>...
py_version_info=options.python_version,
)
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/cli/req_command.py", line 256, in make_resolver
return pip._internal.resolution.resolvelib.resolver.Resolver(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
preparer=preparer,
^^^^^^^^^^^^^^^^^^
...<9 lines>...
py_version_info=py_version_info,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 61, in __init__
self.factory = Factory(
~~~~~~~^
finder=finder,
^^^^^^^^^^^^^^
...<7 lines>...
py_version_info=py_version_info,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 118, in __init__
self._supported_tags_cache = get_supported()
~~~~~~~~~~~~~^^
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/utils/compatibility_tags.py", line 178, in get_supported
supported.extend(
~~~~~~~~~~~~~~~~^
cpython_tags(
^^^^^^^^^^^^^
...<3 lines>...
)
^
)
^
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_vendor/packaging/tags.py", line 229, in cpython_tags
platforms = list(platforms or platform_tags())
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_vendor/packaging/tags.py", line 558, in android_platforms
abi = sysconfig.get_platform().split("-")[-1]
~~~~~~~~~~~~~~~~~~~~~~^^
File "/data/data/com.termux/files/usr/lib/python3.13/sysconfig/__init__.py", line 647, in get_platform
machine = {
~
...<3 lines>...
"armv7l": "armeabi_v7a",
~~~~~~~~~~~~~~~~~~~~~~~~
}[machine]
~^^^^^^^^^
KeyError: 'armv8l'
Note
Manually editing sysconfig/__init__.py to look like this:
machine = {
"x86_64": "x86_64",
"i686": "x86",
"aarch64": "arm64_v8a",
"armv7l": "armeabi_v7a",
"armv8l": "armeabi_v7a",
}[machine]does allow pip install to work successfully on 32-bit ARM Android running on a 64-bit ARM kernel without any further unique changes additionally being required
CPython versions tested on:
3.13
Operating systems tested on:
Android
Linked PRs
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
stdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directorytopic-sysconfigtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error