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.