Python 3 kompilieren und installieren
Möchtest du Python 3.9 anstatt 3.8.4 installieren, dann musst du in allen SchrittenPython-3.8.4
mit Python-3.9.0b4
ersetzen.
Eine Liste der aktuellen Versionen findest du auf der offiziellen Python Seite.
-
Paket Liste neu laden und Pakete aktualisieren
sudo apt update && sudo apt upgrade
-
Benötigte Pakete installieren
sudo apt install libffi-dev libbz2-dev liblzma-dev libsqlite3-dev libncurses5-dev libgdbm-dev zlib1g-dev libreadline-dev libssl-dev tk-dev build-essential libncursesw5-dev libc6-dev openssl git
-
Aktuelle Python Version herunter laden
wget https://www.python.org/ftp/python/3.8.4/Python-3.8.4.tar.xz
-
Entpacke die heruntergeladene Datei
tar xf Python-3.8.4.tar.xz
-
Navigiere in den entpackten Ordner
cd Python-3.8.4
-
Konfiguration vorbereiten (ca. 12min RPI B+)
./configure
-
Installations Datei erstellen (ca. 2-3Std RPI B+)
make -j -l 4
Mit dem Parameter -j und -l legst du fest wieviel Aufgaben gleichzeitig ausgeführt werden. Damit überforderst du Pi nicht und entstehen keine Fehler -
Python installieren (ca. 15min RPI B+)
sudo make altinstall
-
Um nicht immer python3.8 eingeben zu müßen, kannst du einen Alias hinzufügen.
Damit kannst du python3 eingeben und das System benutzt python3.8
echo "alias python3=python3.8" >> ~/.bashrc
Möchtest du Python3 als Standard Version verwenden kannst du folgenden Alias erstellen.echo "alias python=python3.8" >> ~/.bashrc
Oder diesen Alias für Python 3.9echo "alias python3=python3.9" >> ~/.bashrc
-
Du kannst Pip mit
pip3.8
aufrufen. Durch den folgenden Befehl kannst du Pip mitpip3
aufrufen.echo "alias pip3=pip3.8" >> ~/.bashrc
-
Lade die neuen Einstellung, damit sie wirksam werden.
source ~/.bashrc
Python und Pip Version prüfen
Python ist installiert und du kannst die aktuelle Version mit folgendem Befehl prüfen.python3 -V
pip3 -V
Alternative: Pip3 installieren
Falls Pip nicht mit Python installiert wurde, kannst du Pip mit folgenden Schritten installieren. Mit pip lassen sich Python Module einfach installieren und entfernen.-
Lade das pip Installations-Script
wget https://bootstrap.pypa.io/get-pip.py
Pip SSL Fehler
Warum ich Python auf dem Raspberry Pi kompiliere, bzw eine neuere Version von Python und Pip installieren will? Wenn ich Pip normal über apt oder apt-get installiere (sudo apt install python3-pip
) und ein Modul installieren möchte, erhalte ich folgenden Fehler.
Leider behebt die neuere Version bzw. die kompilierte Version nicht das Problem. Falls du eine Lösung hast, schreib sie bitte in die Kommentare.
pi@raspberrypi:~ $ pip3 install pySerial
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting pySerial
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1056)'))': /simple/pyserial/
Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1056)'))': /simple/pyserial/
Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1056)'))': /simple/pyserial/
Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1056)'))': /simple/pyserial/
Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1056)'))': /simple/pyserial/
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1056)'))': /packages/0d/e4/2a744dd9e3be04a0c0907414e2a01a7c88bb3915cbe3c8cc06e209f59c30/pyserial-3.4-py2.py3-none-any.whl
Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1056)'))': /packages/0d/e4/2a744dd9e3be04a0c0907414e2a01a7c88bb3915cbe3c8cc06e209f59c30/pyserial-3.4-py2.py3-none-any.whl
Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1056)'))': /packages/0d/e4/2a744dd9e3be04a0c0907414e2a01a7c88bb3915cbe3c8cc06e209f59c30/pyserial-3.4-py2.py3-none-any.whl
Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1056)'))': /packages/0d/e4/2a744dd9e3be04a0c0907414e2a01a7c88bb3915cbe3c8cc06e209f59c30/pyserial-3.4-py2.py3-none-any.whl
Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1056)'))': /packages/0d/e4/2a744dd9e3be04a0c0907414e2a01a7c88bb3915cbe3c8cc06e209f59c30/pyserial-3.4-py2.py3-none-any.whl
Could not install packages due to an EnvironmentError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Max retries exceeded with url: /packages/0d/e4/2a744dd9e3be04a0c0907414e2a01a7c88bb3915cbe3c8cc06e209f59c30/pyserial-3.4-py2.py3-none-any.whl (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1056)')))
Du kannst den Fehler mit dem
--trusted-host
Parameter umgehen.
pip3 install pySerial --trusted-host=pypi.python.org --trusted-host=pypi.org --trusted-host=files.pythonhosted.org
Das ist aber keine dauerhafte Lösung und nicht sicher.
Lösung für Fehlermeldung "make: Warning: File 'Makefile.pre.in' has modification time"
Wenn ich den Befehl./configure
in Schritte 6 ausgeführt habe, wurde mir folgende Fehlermeldung angezeigt.
make: Warning: File 'Makefile.pre.in' has modification time 4061284 s in the future
/bin/sh ./configure
Dieser Befehl hat noch "funktioniert", aber der nächste Befehlt make -j -l 4
lief dann in einer Endlosschleife und wurde nicht beendet.
Mit diesen Schritten habe ich das Problem lösen können
-
find /your/dir -type f -exec touch {} +
-
make clean && make
-
sudo make altinstall
Thonny installiert und verwendet ein lokale Python (3.7.3) Version.
Hi, die Installation hat auf Raspi 4 mit 1GB RAM (RaspiOS Buster boot von USB Stick) geklappt, sie wurde über SSH gemacht.
Ich bekomme die richtigen Versionsnummern angezeigt (python3 -V und pip3 -V).
Jetzt begebe ich mich auf den Desktop und möchte mit “Thonny Python IDE” das Programmieren beginnen ….
…. und bekomme in dem Statusfenster noch Python 3.7.3 (/usr/bin/python3) gemeldet.
Was ist schief gegangen?
Thonny installiert eine eigene, lokale Python Version (3.7.3)