A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://pythondev.readthedocs.io/platforms.html below:

Supported platforms and architectures — Unofficial Python Development (Victor's notes) documentation

Supported platforms and architectures

See also Python on Android.

Supported architectures

Well supported architectures:

Best effort support architectures:

Well supported platforms

Well supported platforms on Python 3.7 and 2.7:

It took 9 years to fix all compiler warnings on Windows 64-bit! Usually, the fix was to use a larger type to avoid a downcast. For example replace int with Py_ssize_t.

Linux

CPython still has compatibility code for Linux 2.6, whereas the support of Linux 2.6.x ended in August 2011, longer than 6 years ago.

Proposition in January 2018 to drop support for old Linux kernels: https://mail.python.org/pipermail/python-dev/2018-January/151821.html

Windows FreeBSD macOS

Tested by Travis CI and buildbots.

Best effort and unofficial platforms

Supported platform with best effort support:

Platforms not supported officially:

Unofficial projects:

Removed platforms

PEP 11 lists removal of supported platforms:

I want CPython to support my platform!

In short, there are 2 conditions:

If it’s not possible, the best option is to maintain a fork of CPython (fork of the Git repository) to maintain patches to top of the master branch (and maybe also patches on other branches).

More detail in the PEP 11.

C compilers

Python has a good support for:

Best effort:

Compiler flags:

See Python Continuous Integration to see exactly which C compilers and which compiler and linker flags are actually tested.

See also Python builds.

See PEP 7 for the minimum C standard version. In short, it’s a subset of C99 with static line functions and <stdint.h>.

sys.platform versus os.name

Example of sys.platform and os.name values:

Platform

sys.platform

os.name

AIX

aix on Python3.8+, (**)

posix

FreeBSD

freebsd5, freebsd6, …

posix

Linux

linux on Python 3, linux2 on Python 2 (*)

posix

macOS

darwin

posix

NetBSD

netbsd (with a suffix?)

posix

OpenBSD

openbsd5

posix

Solaris

sunos5

posix

Windows

win32

nt

sys.platform comes from the MACHDEP variable which is built by the configure script using:

(*) sys.platform was also linux3 on old versions of Python 2.6 and Python 2.7 with Linux kernel 3.x.

(**) On AIX sys.platform included a release digit, aix3, …, aix7 on all versions of Python through version Python 3.7.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4