Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Für das venv kannst du (Python 3.10) auch schreiben (im shng Verzeichnis):
tools/make_venv 3.10 shng
Damit wird das venv erstellt. Danach z.B.
. ./tools/act shng
(die beiden Punkte sind wichtig).
Dann ist das venv aktiv und du solltest dann auch "einfach" wieder mit python und pip arbeiten können, und er nimmt automatisch die richtigen Versionen. shng sollte dann auch nur ins venv installieren, so dass dein System und die shng-Installation sauber getrennt bleiben.
Das Ganze dauert jetzt erstmal etwas, mir ist gestern nachmittag auch noch der Arbeitsrechner abgeraucht. Euch Allen aber nochmal vielen Dank für die schnelle Hilfe!
Ich habe jetzt mal ein System auf Trixie umgestellt (über die nicht empfohlene Methode des upgrades). Danach war natürlich Python3.13 installiert, aber aus historischen Gründen war noch Python3.9 drauf und mein bisheriges venv für smarthomeNG war noch auf Python3.11 eingestellt, so dass die Requirements natürlich nicht installiert wurden.
Es muss also auf jeden Fall ein neues venv für die zusätzliche Python-Version erstellt werden. Das fehlt in der von bmx oben verlinkten Anleitung. Vorher muss man das noch existierende venv mit deactivate verlassen und am besten auch gleich löschen (oder umbenennen).
Sobald mehrere Python-Versionen vorhanden sind, sorgt das Tool postinstall zudem dafür, dass das neue venv u.U. für die falsche Python-Version angelegt wird. Dies liegt an der Reihenfolge, in der die Versionen im Tool abgefragt werden.
Code:
function get_pythonversion_for_shng() {
if [ "`which python3.11`" != "" ]; then
echo 3.11
else
if [ "`which python3.12`" != "" ]; then
echo 3.12
else
if [ "`which python3.10`" != "" ]; then
echo 3.10
else
if [ "`which python3.9`" != "" ]; then
echo 3.9
else
if [ "`which python3.13`" != "" ]; then
echo 3.13
else
if [ "`which python3.14`" != "" ]; then
echo 3.14
Bei mir wurde das venv daher für Python3.9 angelegt. Ein Austausch der beiden Zeilen von python3.11 mit denen von python3.13 hat dann Abhilfe gebracht. Das Problem hatten wir schon einmal. Das Tool postinstall muss wohl mit jeder neuen Python-Version aktualisiert werden.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar