Bei einigen Webspace-Angeboten erhält man einen SSH-Zugang ohne root-Rechte. Aber auch in diesem Fall kann man Python aktualisieren, indem man parallel eine neue Version "installiert". Das geht allerdings nur, wenn alle erforderlichen Tools (wie z.B. make) verfügbar sind.
Installation von Python im Einzelnen
Aktuelle Python-Version mit wget herunterladen:
cd ~ mkdir python_source cd python_source wget http://python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2
Auspacken:
tar xjf Python-2.7.2.tar.bz2
Nach dem Auspacken in das Verzeichnis wechseln:
cd Python-2.7.2
Konfigurieren und Installieren: Normalerweise reicht hier ein ./configure, dann wird Python aber nach /usr/local/bin/python2.7 installiert, und als normaler Benutzer hat man nicht die passenden Rechte dazu. Deswegen geben wir hier ein Prefix an:
./configure --prefix=`echo ~/usr` make make install
Die Executable ist dann unter ~/usr/bin/python zu finden. Der Shebang (z.B. in CGI-Skripten) muss dann lauten: #!/pfad/zum/homedir/usr/bin/python
Zusätzlich kann man den Pfad anpassen, damit der eigene Interpreter zuerst gefunden wird. Dazu kann man das folgende in seiner ~.bashrc anhängen:
export PATH="${HOME}/usr/bin:${PATH}"Mit einem which python kann man überprüfen welcher Interpreter dann gefunden wird.
Und zum Schluss wollen wir noch aufräumen:
cd ~ rm -r python_source
Wichtig: Damit der Python-Interpreter auf keinen Fall aus dem Internet direkt zu erreichen ist, sollte man (im Falle von Apache) eine .htaccess-Datei in ~/usr packen:
Order Deny,Allow Deny From All
Überprüfen kann man das, indem man versucht direkt auf den Interpreter zuzugreifen - z.B. mit http://www.meinerootdomain.de/usr/bin/python2.7
Damit nun ein CGI-Skript den neuen Interpreter auch nutzt, muss man im Skript den neuen Interpreter angeben, siehe "Shebang-Zeile" oben.
MySQLdb installieren
Das MySQLdb Quell-Paket herunterladen (aktuellen Link findest du unter pypi.python.org/pypi/MySQL-python/).
Auspacken und ins Verzeichnis wechseln:
tar xjf MySQL-python-1.2.3.tar.gz cd MySQL-python-1.2.3
Build- und Installationsprozess mit lokalem Python-Interpreter starten:
~/usr/bin/python setup.py build install