3c8a1ea386
For python3 cross compilation, a native installation of python3 is needed. This patch adds a build script for python3 to the toolchain and informs the user to run that script if the python port is build and no native python3 with the same major and minor version is being found. |
||
---|---|---|
.. | ||
patches | ||
config.site | ||
package.sh | ||
README.md | ||
version.sh |
Python 3.6 Port
This port is highly experimental. Python binary can be started with python3
, but many
functionality is expected to not work.
Why this version is used
Python 2.7 will not be supported in future, see e.g. pythonclock.org.
Python 3 is a good candidate for porting. Until Python 3.6 it is easily possible to disable
multi-threading API via --without-threads
option. This is needed until SerenityOS provides the
pthread APIs.
How to improve
Run the Python test suite via python3 -m test
to see what fails and start working on that.
If functionality in LibC/LibM/Kernel/... is updated, recompile Python with ./package.sh build
.
Known limitations
-
No locale support, default locale encoding set to utf-8
-
Instead of
/dev/urandom
,/dev/random
is being used -
No multi-threading
-
time module not working due to missing time related functions in LibC/Kernel