Neueres Python

Unter FreeBSD ist die Standardversion von Python3 nicht immer ganz taufrisch. Dieser Artikel beschreibt wie man trotzdem zu einem aktuellen Python3 Interpreter kommt.

Sollte das System nicht frisch installiert sein, muss man vorher alles was mit python36, py36, ... beginnt deinstallieren.

Zuerst nur den Interpreter installieren:

pkg install python37

An dieser Stelle sollte der Befehl python3.7 funktionieren, python3 jedoch noch nicht.

Danach die Ports updaten/initialisieren:

portsnap fetch extract update

In der /etc/make.conf setzt man die gewünschte Version:

DEFAULT_VERSIONS+= python3=3.7

Jetzt der Trick, das python3 Kommando über die Ports installieren:

cd /usr/ports/lang/python3
make install

Zum bauen von diesem Makefile braucht es nur den Port/das Paket python3 in der Version aus DEFAULT_VERSIONS.

python37 erfüllt die Abhängigkeit python3, da dies oben schon installiert wurde ist alles klar!

Jetzt sollte auch python3 funktionieren und auf python37 verweisen.

Note

Die Schritte funktionieren auch, wenn man Python aus den Ports baut, man sollte nur die Reihenfolge beachten.

Pip & Virtualenv

Wenn man pip verwenden möchte, dann unbedingt im Zusamenhang mit virtualenv.

pip installiert man z.B. aus den Ports so:

cd /usr/ports/devel/py-pip
make FLAVOR=py37 install clean

virtualenv geht ganz ähnlich:

cd /usr/ports/devel/py-virtualenv
make FLAVOR=py37 install clean