Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#4

AW: Wie Embedded-Python und PIP?

  Alt 14. Jul 2023, 12:15
Ja, Python verwendet viel an Umgebungsvariablen, die u.a. eben auch durch die virtual environments gesteuert / belegt werden.
Python muss wissen wo es nach modulen suchen muss, sonst sucht es nur global an seinen default-Orten.
Durch andere variablen wird allerdings für PIP definiert, wo es drauf arbeitet, sonst nimmt es seine default-Orte.

Die Python- und die PIP-Defaults sind aber nicht zwangsläufig identisch (bzw. vermutlich nur mehr oder weniger zufällig, wenn Du in einer globalen Installation arbeitest).

Das virtual env macht im Prinzip nix anderes, als die für diese Dinge verwendeten Umgebungsvariablen zu setzen, inkl. auch den PATH so anzupassen dass die jeweiligen python- und pip executables des aktuellen Envs genommen werden (weil Du pro virtuellem environment ja auch unterschiedliche Python-Versionen haben kannst).

Du musst keine virtuellen envs verwenden, aber in dem Kontext in dem Python dann ausgeführt wird müssen halt zumindest alle notwendigen Umgebungsvariablen auf die richtigen Verzeichnisse zeigen und Du musst sicherstellen, dass die PATH-Angabe deine lokalen Verzeichnisse vor den globalen listet, damit nicht versehentlich ein globales pip mit lokalem python oder umgekehrt verwendet wird.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat