Pip / Python problem - distribution was not found and is required by the application

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hallo,


    Folgende Ausgangssituation am Raspberrypi 3:

    Code
    root@raspberrypi:~/wattpilot# python --version
    Python 3.10.11
    root@raspberrypi:~/wattpilot# python3 --version
    Python 3.10.11
    root@raspberrypi:~/wattpilot# pip --version
    pip 23.0.1 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
    root@raspberrypi:~/wattpilot# pip3 --version
    pip 23.0.1 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
    root@raspberrypi:~/wattpilot#


    Versuche folgendes von hier zu installieren:
    https://github.com/joscha82/wattpilot


    pip install . liefert folgenden Fehler:

    pip._vendor.pkg_resources.DistributionNotFound: The 'pip==20.3.4' distribution was not found and is required by the application


    Gehe ich der Annahme richtig, dass meine pip version zu hoch ist mit 23.0.1 ? Welche python version passt hier mit welcher PIP Version zusammen? Ich habe die 3.10.11 manuell installiert.

    danke,


    PS: Interessant noch zu erwähnen:


    root@raspberrypi:~/wattpilot# apt-get install python3-pip

    Paketlisten werden gelesen… Fertig

    Abhängigkeitsbaum wird aufgebaut… Fertig

    Statusinformationen werden eingelesen… Fertig

    python3-pip ist schon die neueste Version (20.3.4-4+rpt1+deb11u1).

    0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

    Edited once, last by klaus1 ().

  • root@raspberrypi:~/wattpilot# pip -V

    pip 23.0.1 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)

    root@raspberrypi:~/wattpilot#


    kann es sein, dass zum installieren von dem wattpilot (oben verlinkt) der befhehl: pip install . falsch ist ?

  • root@raspberrypi:~/wattpilot# pip -V

    pip 23.0.1 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)

    Na also, geht doch!


    kann es sein, dass zum installieren von dem wattpilot (oben verlinkt) der befhehl: pip install . falsch ist ?

    Du musst das Projekt runterladen und in das Verzeichnis wechseln und dann den Befehl ausführen. So verstehe ich das zumindest.

  • eigenartig. liefert immer noch den Fehler:


  • Hallo,


    IMHO ist da ein grundlegender Fehler im Projekt, wenn das genau _eine_ pip-Version verlangt, im gegebenen Fall ja sogar Major / Minor / Bugfix Release. Dafür gibt es eigentlich so überhaupt keine Grund, weil es ja erzwingt, eine alter Version von pip zu nutzen. Will man aber in der Regel nicht.


    Wenn du das Projekt nutzen willst ist IMHO der sauberste Weg, die ein Python virtual environment _ohne_ pip einzurichten, darin die gewünschte pip Version manuell zu installieren und dann das Projekt zu installieren.


    Unabhängig von dem spezifischen Problem: es ist immer besser, ein venv zu verwenden. Python-Module global mit Root-Rechten zu installieren ist a) in 95% der Fälle nicht nötig und b) kann zu unerwünschten Nebeneffekten im System führen.


    Gruß, noisefloor

  • Wenn du das Projekt nutzen willst ist IMHO der sauberste Weg, die ein Python virtual environment _ohne_ pip einzurichten, darin die gewünschte pip Version manuell zu installieren und dann das Projekt zu installieren.

    wie macht man das ?

  • Hallo,

    Ich denke pip und phyton müssen zusammenspielen. das tuts in meinem Fall nicht.

    Doch, tut es sehr wohl. Du hat auch keine Fehler gemacht. Es ist schon grundsätzlich der richtige Weg, pip aus den Paketquellen zu installieren oder manuell die neuste Version. Wie gesagt ist der Fehler IMHO in den Requirements des Programms, was du nutzen möchtest.


    Gruß, noisefloor

  • Hallo,


    was heißt "Daten ziehen"?


    Ein Python venv ist _nur_ eine isolierte _Python_ Umgebung, d.h. die hat einen eigenen Python Interpreter (i.d.R. ein Kopie der Python-Installation des Systems und im venv installierte Module sind nur im venv sichtbar. Umgekehrt sind im venv auch nicht die systemweiten Module sichtbar. Auf _alle_ anderen Dateien / das Dateisystem hast du freien Zugriff, ebenso bestehende Netzwerkverbindung etc.


    Ein Python venv hat nichts mit einer virtuellen Maschine oder Containertechnologie zu tun.


    Gruß, noisefloor

  • Danke!
    ein paar Anmerkungen.

    erste zeile muss so lauten:
    python3 -m venv NAME_DES_VENV --without-pip


    aktivieren des env mach ich so:
    source /root/wattpilot/WATT_VENV/bin/activate

    nach aufruf python3 get-pip.py "pip==20.3.4" im WATT_VENV verzeichnis erhalte ich:

  • Ist python3 hier ein selbst gebautes Python 3.10? Kann es sein das die Fehlermeldung einfach recht hat und es da kein `ssl`-Modul gibt, weil das beim selbst bauen nicht erstellt wurde, weil vielleicht die Abhängigkeit(en) dafür nicht vorhanden/installiert waren?

    „Eat the rich — the poor are full of preservatives.“ — Rebecca ”Becky” Connor, The Connors