7.2. Python Implementations¶
7.2.1. Overview¶
The various Python implementations require some more or less specific handling for the detection of the release.
implementation |
remarks |
---|---|
CPython |
standard procedures based on standard modules, specials for some distributions, registry based on WindowsNT |
IPython |
basically the same as CPython, requires special detection for release |
IronPython |
based on registry, available on WindowsNT only |
Jython |
implements for WindowsNT Java modules for the registry access, POSIX platforms same as CPython |
PyPy |
same procedures as CPython |
See also [pythonids].
7.2.2. Jython¶
The platformids supports in general the Jython implementation, which is on POSIX based platforms commonly based on the standard libraries and the common exceptions of detection of the underlying OS platforms. These are handled by the native standard Python interfaces as provided by the Jython implementation.
The standard information provided by System covers not the full required scope. Therefore some Java modules are provided for the registry access.
The Jython implementation on Windows NT (Jython-2.7.0) does not support registry access, which is cruicial for the fast and reliable acquisition of the full scope of the platform information.
For details see Data Acquisition on Windows-NT, and Jython on Windows-NT.
7.2.3. setuptools / distutils¶
This also requires the extension of the setup.py by the additional command build_java for the compilation and distribution of the included java modules.