C:\Techblog\Python ModuleNotFoundError _cffi_backend\
25203275 Bytes in 289 Dateien.

Wer aus gewissen Gründen ein Python 3 z.B. wie ich von 3.5 auf 3.6 "upgraden" musste und mittels update-alternatives dann auch Python 3.6 nutzt, stößt u.a. bei Certbot unter Debian 9 (Stretch) auf ein kleines Problem. Bei der Ausführung von certbot, kommt es bei fehlerhafter Konfiguration zur Fehlerausgabe ModuleNotFoundError: No module named '_cffi_backend'.

Verlinken von Python 3.6 Site Packages zu Pypthon 3.5 Dist-Packages

Eine Möglichkeit ist, im Ordner /usr/local/lib/python3.6/site-packages/ einen Symbollink mittels ln -s /usr/lib/python3/dist-packages/_cffi_backend.cpython-35m-x86_64-linux-gnu.so _cffi_backend.cpython-36m-x86_64-linux-gnu.so zu machen – vorausgesetzt, das Paket python3-cffi ist installiert. Allerdings ist Certbot schlau und meckert einen dann an, dass die installierte Version (bei mir 0.28.0) für Python 3.5 kompiliert wurde. Man setzt also hier einen Python 3.6 Symbollink auf eine Python 3.5 Datei.

Die Abhilfe

Sollte Python 3.5 weiterhin installiert sein, muss einfach nur die Certbot Datei angepasst werden.

Ich musste, damit gewisse Programme auch wirklich Python 3.6 nutzen können (scheint bei Debian 9 irgendwie bissl komisch zu sein), musste ich /usr/bin/python3 auf /etc/alternatives/python3 verlinken, damit es auch wirklich die in den Alternativen angewählte Python-Version nutzt.

Damit Certbot weiterhin mit Python 3.5 ausgeführt wird, muss mittels nano /usr/bin/certbot die 1. Zeile des Dateikopfes wie folgt angepasst werden:

Von

#!/usr/bin/python3

zu

#!/usr/bin/python3.5

Es gibt sicher sauberere Lösungen, doch für Debian gibt es keine gesonderte PPA wie für Ubuntu und Snap wollte bzw. will ich nicht installieren. Von Certbot wird nämlich die Installation über Snap empfohlen. Zwar zeigt Certbot noch andere alternative Installationen auf, allerdings funktioniert es auch so und sollte keine Nachteile bringen.

Die sauberste Methode ist jedoch nach wie vor die Linux Distribution auf eine neue Version zu upgraden. Dadurch gibt es auch die neueren Versionen in den Repositories der Distri-Anbieter.

Veröffentlicht: 01.03.2021 | Letztes Update: 21.10.2022

^ Seitenanfang