npm ERR! gyp ERR! find Python is not set from command line or npm configuration

  • Puh... Servus.

    Ich hoffe auf fachliche Unterstützung. :|

    Seit - zumindest meine ich es so - dem update auf npm 8.x habe ich folgende Fehlermeldung im Log, wenn ich versuche ein Plugin zu aktualisieren, oder zu installieren. Derzeit installiert [email protected] [email protected].


    Soweit ich es ja zumindest lesen kann, hat es irgendwas mit Python und gyp? zu tun.

    Python scheint installiert zu sein. Und damit bin ich dann auch schon am Ende und weiß nicht, was ich machen kann, damit sich das irgendwie wieder hin ruckelt. Zurück auf npm 7.24.2 behebt das Problem. sudo npm install -g [email protected]

    Aktuelles npm wäre aber natürlich schon gut, so wie ich in der Vergangenheit auch immer auf dem aktuellen war und es nie Probleme gab.


    Vorab danke für die Hilfe.


    Zitat

    pi@raspberrypi-3BPlus:~ $ python --version

    Python 2.7.13

    pi@raspberrypi-3BPlus:~ $ python3 --version

    Python 3.5.3

  • Zitat von DJay

    npm ERR! gyp ERR! find Python - version is "3.5.3"

    npm ERR! gyp ERR! find Python - version is 3.5.3 - should be >=3.6.0

    npm ERR! gyp ERR! find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED

    Deine Python3-Version ist zu alt. Da hilft möglicherweise ein Update deine Raspis:

    sudo apt-get update

    sudo apt-get upgrade

  • Dank Dir. Ich meine, das habe ich kürzlich schon gemacht ohne Erfolg.

    Aber gerade auch noch mal update/upgrade.

    Das läuft durch, auch ohne Fehler, aber am Ende, auch nach einem Reboot.


    pi@raspberrypi-3BPlus:~ $ python3 --version

    Python 3.5.3


    Und ich verstehe den Zusammenhang nicht. Hat [email protected] kein Problem und [email protected] verweigert die Arbeit wegen der Python Version meinst Du?


  • Hat [email protected] kein Problem und [email protected] verweigert die Arbeit wegen der Python Version meinst Du?

    Ja, das meine ich. Auf meinem Raspi 4 ist Python3 in der Version 3.6.3, auf meinem Raspi 3 ist es sogar 3.7.3. Betriebssystem ist Raspbian Buster.

  • Hmm.. nur wird bei mir mit Pi 3 B Plus mit Stretch nach dem obigen vorgehen kein Python geupdated. Bleibt bei 3.5.3. :|

  • mit Stretch

    Vielleicht liegt's einfach daran? Ich kann's dir wirklich nicht sagen. Ich habe jedenfalls nie irgendwelche extra-Installationen gestartet, um Python irgendwie up-to-date zu halten.


    Wenn ich an deiner Stelle stünde, dann würde ich über drei Strategien nachdenken:

    1. Update von Python am apt-Paketmanagement vorbei. Es gibt jede Menge Anleitungen, wie man Python3 herunterlädt und selbst kompiliert (beispielsweise hier). Das kann funktionieren oder auch nicht. Als normaler Anwender etwas selber zu komplizieren entpuppt sich häufig als eine Aufgabe, von der man vom Hundertsten auf Tausendste kommt. Man wird aufgefordert, Zeugs nachzuinstallieren, von dem man nicht weiß, wo man es herbekommt. Kann aber auch sein, dass es gleich geht. Ein Rückgängigmachen erfordert viel Erfahrung, die ich erst mal nicht hätte. Es könnte im Fehlerfall dann direkt zu Alternative 3 führen und schließt Alternative 2 aus. Wär nicht mein Fall.
    2. Update des Betriebssystems. Wird hier beschrieben und ich meine, ich hätte das damals so gemacht. Das wird mit hoher Wahrscheinlichkeit sauber funktionieren. Dazu führt man im Grunde ein sudo apt-get upgrade und danach ein sudo apt-get dist-upgrade oder ein sudo apt-get full-upgradeaus. Auch diese Vorgehensweise kann zu Alternative 3 führen. Das wäre mein erster Ansatz.
    3. Neuaufsetzen der Homebridge auf einer zweiten SD-Card. Das ist wohl die einfachste Lösung, aber sie beinhaltet kleine Fallen. Dazu macht man ein Backup mit homebridge-config-ui-x, flasht eine SD-Card mit dem neuesten Homebridge-Image und macht ein Restore der Konfiguration per homebridge-config-ui-x. Der Nachteil hier ist, dass sämtliche selbstgeschriebenen Skripte und neben der Homebridge installierte Software auf dem neuen System fehlen. Für die selbstgeschrieben Skripte habe ich eine elegante Lösung, aber der Rest muss dann neu installiert werden, was einen gewissen Aufwand darstellt.

    Alles nicht schön.