Python ohne root unter Linux installieren
Hier wollen wir uns nun anschauen, wie man python3 sicher und ohne root
oder sudo
verwenden kann.
Bevor wir loslegen können, muss man noch ein paar Abhängigkeiten installieren, um die volle Leistung von pip garantieren zu können (SSL/TLS support z.B.):
sudo apt install -y libssl-dev \
libncurses5-dev \
libsqlite3-dev \
libreadline-dev \
libtk8.6 \
libgdm-dev \
libdb4o-cil-dev \
libpcap-dev
Anschließend suchen wir eine Location für die Installation aus. Hier im
Beispiel verwenden wir ~/Software/Python
mkdir -p ~/Software/Python
cd ~/Software/Python
Anschließend können wir Python von der Webseite herunterladen. Die aktuelle
Version kann man auf der
Python Website
finden. Aktuell ist das Python 3.10.3
.
Weiterhin in unserem Terminal im Ziel-Verzeichnis können wir mit Hilfe von
wget
die aktuelle Version herunterladen und anschließend entpacken:
wget https://www.python.org/ftp/python/3.10.3/Python-3.10.3.tgz
tar -xvzf Python-3.10.3.tgz
Im Folgenden findest du die Commands für das Konfigurieren und Compilen von Python:
cd Python-3.10.3
find ./Python/ -type d | xargs chmod 0755
./configure --prefix=/home/$USER/Software/Python/Python-3.10.3/Python --enable-optimizations
make
make install
Den Prefix musst du als absoluten Pfad angeben. Ist die Installation
vollständig abgeschlossen, müssen wir zunächst die neue Python Location zu
unserem PATH
hinzufügen. Dazu bearbeiten wir die Datei ~/.profile
oder
(wenn man das bevorzugt, die ~/.bashrc
):
vi ~/.profile
Dort ergänzen wir nun die folgenden Zeilen:
if [ -d "/home/qm-b/Software/Python/Python-3.10.3/Python/bin" ]; then
PATH=/home/qm-b/Software/Python/Python-3.10.3/Python/bin:$PATH
fi
export PATH
Befindet sich bereits ein export $PATH
in der Datei, muss der vorige Part
vor dem Export eingefügt werden.
Anschließend laden wir die Datei neu:
source ~/.profile
Jetzt können wir testen, ob alles funktioniert:
which python3
Die Ausgabe sollte in etwa wie folgt aussehen:
/home/qm-b/Software/Python/Python-3.10.3/Python/bin/python3
Zu guter Letzt kann man noch testen, ob auch über pip reibungslos module installiert werden können:
python3 -m pip install pip_review black
Das war es damit auch schon!