Ankündigung

Einklappen
Keine Ankündigung bisher.

neue Versionen pymodbus

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    Wenn ich das Requirements-Handling richtig im Kopf habe, gibt es zwar - ggf. auch komplexe - Bedingungsprüfungen, aber die werden für alle Plugins auf eine "Summe" eingedampft; es gibt keine Möglichkeit, für unterschiedliche Plugins unterschiedliche Versionen zu fordern, wenn es nicht eine gemeinsame "Lösung" gibt.

    Also p1 > 2.4, p2 == 2.8, p3 <= 2.8 geht (-> 2.8), aber p1 == 2.4 und p2 == 2.8 geht nicht.

    Ich habe auch noch keine Idee, wie man das sinnvoll und vertretbar so umschreiben könnte, dass das flexibel gehandhabt werden könnte. Es müssten dann ja alle Plugins umgestellt werden, weil kein Plugin wissen kann, ob ein anderes Plugin eine andere Version erfordert.

    Wenn jemand eine gute Idee dazu hat, würde ich mich daran setzen...

    Kommentar


      #32
      Zitat von Morg Beitrag anzeigen
      Ich habe auch noch keine Idee, wie man das sinnvoll und vertretbar so umschreiben könnte, dass das flexibel gehandhabt werden könnte. Es müssten dann ja alle Plugins umgestellt werden, weil kein Plugin wissen kann, ob ein anderes Plugin eine andere Version erfordert.
      Na grundsätzlich weiß SmartHomeNG schon wann mehrere Plugins benötigt werden. Also genau in deinem 2. Fall. Das bedeutet auch, dass es 2 Pakete nachinstallieren könnte. Allerdings und genau dann wird es kniffelig stellt sich dann die Frage wohin. Aber selbst wenn man das dann löst und das nach dem Schema von AndreK das installiert ist die Frage, wie das das Plugin einbinden kann und das idealerweise ohne, dass es das selbst merkt.

      Lässt sich das irgendwie über das SmartPlugin-Modell einbinden, sprich dort schon die Pfade prüfen und setzen, an Hand der requirements? Also irgendwie über diesen Weg?

      Kommentar


        #33
        Zitat von Cannon Beitrag anzeigen
        ​Na grundsätzlich weiß SmartHomeNG schon wann mehrere Plugins benötigt werden. Also genau in deinem 2. Fall. Das bedeutet auch, dass es 2 Pakete nachinstallieren könnte.​
        Das Version Management von Python für Packages sieht nicht vor, dass in eine Python Installation mehrere Versionen eines Packages installiert werden können. Im Core ist das also nicht lösbar.

        Plugins können jedoch Packages an andere Stellen installieren (also nicht direkt in die Python Installation) und diese Version importieren. Dabei kann auch im Import das Quellverzeichnis angegeben werden, so dass auch abweichende Versionen importiert werden können, falls in der Python Installation eine unpassende Version des Packages installiert sind.

        Ich habe das in der Vergangenheit schon mal für ein Package gemacht, weil ich eine fehlerbereinigte Version eines Packages brauchte, diese aber noch nicht released war sondern nur im develop Branch des Packages existierte. (Nachzulesen im Plugin panasonic_ac)
        Zuletzt geändert von Msinn; 07.04.2025, 11:23.
        Viele Grüße
        Martin

        There is no cloud. It's only someone else's computer.

        Kommentar


          #34
          Könnte man dann nicht auch, dass jeweilige pythonmodul mit dem Plugin mitliefern?

          Kommentar


            #35
            Genau das siehst Du im Plugin panasonic_ac​
            Viele Grüße
            Martin

            There is no cloud. It's only someone else's computer.

            Kommentar


              #36
              Oder im Sonos plugin...

              Kommentar

              Lädt...
              X