pip auf der CCU3

In dieser kleinen Ergänzung zum vorangegangenen Post "Python für die CCU3" möchte ich noch die Installation von pip zeigen. Vorsicht, hierbei wird das root-Filesystem der CCU3 verändert, alles auf eigene Gefahr!

Leider kann pip nicht einfach über die buildroot-Umgebung konfiguriert werden. Statt dessen ist sind kleine Code-Änderungen notwendig. In der Datei package/python3/python3.mk im buildroot-Verzeichnis müssen beide --without-ensurepip durch --with-ensurepip=install ersetzt werden. Es ist wichtig, dass der Backslash (\) am Ende der Zeile erhalten bleibt.

Danach sollte man den Build-Prozess nochmal starten (siehe vorheriger Post) und das python-Verzeichnis auf die CCU3 transferieren.

Anschliessend wird pip installiert und dazu das root-Filesystem read-write gemounted:

# mount -o remount,rw /
# cd /usr/local/python3-3.6.3/
# ./python -m ensurepip --default-pip
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-9.0.1 setuptools-28.8.0

Die nun installierte Version ist uralt, daher ist ein Update notwendig:

# pip install --upgrade pip

Ein Test mit requests sollte nun problemlos durchlaufen. Die Module werden unter /usr/lib/python3.6/site-packages installiert.

pip install requests

Anschliessend sollte das root-FS mit mount -o remount,ro / wieder read-only gesetzt werden.

Mit dieser Anleitung können nur Pakete installiert werden, welche keinen C-Compiler benötigen (der auf der CCU3 nicht vorhanden ist), numpy funktioniert zum Beispiel nicht. Eventuell werde ich in einem späteren Post die Installation von gcc zeigen.