Python 3.3 in Ubuntu 12.10 installieren

 

Python 3.3 in Ubuntu 12.10 installieren

Viele Programme unter Ubuntu benutzen Python. Wenn man eine eigene Version von Python von Hand, also ohne die Paketverwaltung, installieren will, muss man daher aufpassen, dass man dabei nicht die von Ubuntu benutzten Python-Versionen überschreibt oder verändert.

Das geht am einfachsten, wenn man dafür sorgt, dass alle Dateien in einem eigenen Verzeichnisbaum unterhalb von z.B. /usr/local/ installiert werden.

Den Quellcode herunterladen

Den Quellcode für Python gibt es auf der Webseite www.python.org. Wir nehmen das mit BZIP gepackte tar-Archiv (Python 3.3.0 bzipped source tarball).

Nachdem wir die Datei heruntergeladen haben, müssen wir das Archiv erst einmal entpacken:

tar xvf Python-3.3.0.tar.bz2

Dabei werden alle Dateien in den Ordner Python-3.3.0 entpackt.

Benötigte Software installieren

Bevor wir den Quellcode kompilieren können, müssen wir zuerst noch einige zusätzliche Software installieren.

Zuerst installieren wir alle Pakete, die benötigt werden, um Python 3.2 zu kompilieren - das ist in jedem Fall ein guter Anfang:

sudo apt-get build-dep python3.2

Für Python 3.3 benötigen wir noch ein zusätzliches Paket:

sudo apt-get install liblzma-dev

Außerdem installieren wir noch GNU stow

sudo apt-get install stow

Damit haben wir alles, was wir benötigen.

Den Quellcode kompilieren

Um den Quellcode zu kompilieren wechserln wir zunächst in den Ordner, in den wir den Quellcode entpackt haben:

cd Python-3.3.0

Dann rufen wir das configure-Skript mit einigen Optionen auf, um den Quellcode für das Kompilieren vorzubereiten:

./configure --prefix=/usr/local/stow/Python-3.3.0 --enable-loadable-sqlite-extensions

Nachdem configure fertig ist, können wir make aufrufen, um den Quellcode zu kompilieren:

make

Die Dateien installieren

Nachdem wir unser neues Python kompiliert haben, müssen wir es noch installieren.

Dazu legen wir erst einmal den Basis-Ordner für stow an, falls er noch nicht existiert:

sudo mkdir -p /usr/local/stow

Als nächstes benötigen wir in diesem Basisordner einen Ordner, in den wir unser Python installieren können.

Um sicher zu gehen, dass bei der Installation keine Dateien verändert oder überschrieben werden, die zum System, gehören, wollen wir die Installation als normaler Benutzer, also ohne root-Privilegien, durchführen. Daher benötigen wir Schreibrechte für den Python-Ordner:

sudo install -d /usr/local/stow/Python-3.3.0 --owner=$USER

Jetzt könnern wir unser frisch kompiliertes Python in diesen Ordner installieren:

make install

Bei der Installation werden alle Programme nach /usr/local/stow/Python-3.3.0/bin und bekommen ein 3.3 am Ende, also zum Beispiel:

/usr/local/stow/Python-3.3.0/bin/python3.3
/usr/local/stow/Python-3.3.0/bin/idle3.3

Außerdem gibt es einige Symlinks, die wir entfernen wollen, um Konflikte mit der von Ubuntu installierten Version von Python 3 zu vermeiden:

rm /usr/local/stow/Python-3.3.0/bin/2to3
rm /usr/local/stow/Python-3.3.0/bin/idle3
rm /usr/local/stow/Python-3.3.0/bin/pydoc3
rm /usr/local/stow/Python-3.3.0/bin/python3
rm /usr/local/stow/Python-3.3.0/bin/pyvenv
rm /usr/local/stow/Python-3.3.0/binpython3-config

Zum Schluß lassen wir noch stow alle nötigen Symlinks nach /usr/local/bin/ usw. anlegen, damit wir Python bequem aufrufen können:

cd /usr/local/stow
stow -v Python-3.3.0

Damit ist Python 3.3. installiert, und wir können es mit:

python3.3

aufrufen und in unseren Python-3.3-Programmen:

#!/usr/bin/env python3.3

verwenden.

Das Programm wieder entfernen

Dank stow lässt sich das Programm sehr einfach wieder entfernen:

Mit:

cd /usr/local/stow
stow -Dv Python-3.3.0

können wir die von stow angelegten Symlinks wieder löschen. Oft reicht das schon, weil python3.3 damit nicht mehr in den standardmäßiog verwendeten Ordern verfügbar ist.

Mit:

cd /usr/local/stow
rm -r Python-3.3.0

können wir danach aber auch alle für Python 3.3 installierten Dateien wieder löschen. Wichtig ist, davor stow -Dv Python-3.3.0 auszuführen, damit stow die Symlinks entfernt.