Python is a widely used high-level, general-purpose, interpreted, dynamic programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than possible in languages such as C++ or Java. The language provides constructs intended to enable writing clear programs on both a small and large scale.
Python supports multiple programming paradigms, including object-oriented, imperative and functional programming or procedural styles. It features a dynamic type system and automatic memory management and has a large and comprehensive standard library.
Download on your host the python2 package for armv7h from the arch linux arm repositories. Uncompress the
.pkg.tar.xz in a folder, it will contain a
usr directory, plus some hidden files.
Login into your reMarkable and create the following directories:
$ mkdir -p /home/root/.localpackages/python2-2.7.14-1-armv7h $ mkdir /home/root/.bin
We want to keep each package in a separate subfolder inside
.localpackages, and inside
.bin we will add the shellscripts necessary to launch the binaries from the command line.
On your host, copy the
usr directory to the reMarkable:
$ scp -r ~/Downloads/python2-2.7.14-1-armv7h/usr firstname.lastname@example.org/home/root/.localpackages/python2-2.7.14-1-armv7h
On the reMarkable, create a file named
#!/bin/sh LD_LIBRARY_PATH=/home/root/.localpackages/python2-2.7.14-1-armv7h/usr/lib:$LD_LIBRARY_PATH /home/root/.localpackages/python2-2.7.14-1-armv7h/usr/bin/python2 "$@"
You can also add a
$ cd /home/root/.bin $ ln -s python2 python
Finally, if you want to be able to run python directly from the command line, add the following line to your
... PATH=$PATH:/home/root/.bin ...
Log out and log in on your reMarkable, and you should have a working python installation.
There probably are a number of things that does not work. If you find something that is not functioning properly, please add it here following the template.
Change the title of the section with a description of the issue, e.g. “numpy not working” or “missing xy module”
If you find a solution/workaround to the issue, please add it here so that others can use it.
Python 3 does not work because it depends on
GLIBC_2.25 being present on the system, while on the reMarkable there currently is the 2.23 version.
It is theoretically possible to add a custom
/home/root/.localpackages/python3-version-armv7h/usr/lib, but it has not been tested so far. Keep in mind that the reMarkable uses a custom built
libc and changing it system wide can have catastrophic results.