Bei neuem Projekt immer die Pakete anderer Projekte drin
Verfasst: Donnerstag 7. Juli 2022, 21:18
Hallo,
ich habe ein Problem bei der Erstellung eines neuen Django Projektes. Mir ist grundsätzlich die Funktion einer virtuellen Umgebung klar und würde gerne die Vorzüge, dass ich 2 unterschiedlicher Projekte auf einem Rechner entwickle, diese aber ihre jeweiligen eigenen Python Packages besitzen, gerne nutzen. Nur leider funktioniert es nicht.
Bisher entwickelte ich Projekt A auf meinem Rechner.
Heute startete ich ein neues Projekt, nennen wir es B auf dem gleichen Rechner.
Ich startete mit meiner PYCharm IDE ein neues Django Projekt "B" und das Setup bot mir an eine neue virtualenv zu erstellen. Der Base Interpreter ist auf meinen ursprünglich Python Folder gesetzt.
Den Haken "Inherit global site-packages" habe ich nicht aktiviert. So wie ich das verstehe bedeutet, dass meine neue virtuelle Umgebung keine globalen Pakete erbt.
Schön. Im Terminal von PyCharm wird auch gleich die virtuelle Umgebung aktiviert (venv).
Jetzt den Befehl eingegeben und schon wird mit nicht eine "nackte Django" Umgebung und deren initialen Packages angezeigt, sondern es werden auch alle Packages aus dem Projekt A angezeigt, obwohl ich wohlgemerkt im Projekt B bin. Das passiert auch wenn ich den Befehl pip freeze --local verwende.
Hmmm, dann habe ich wohl die Pakete im Projekt A nicht innerhalb der virtuellen Umgebung von Projekt A installiert, sondern global??
Also habe ich erst einmal das Projekt B wieder von meinem Rechner gelöscht und auch meine Basis Python Installation deinstalliert.
Danach dann Python frisch installiert. In dem Pojekt A den Ordner venv gelöscht und auch den Ordner .idea um die alte, eventuell falsch aufgesetzte Umgebung nochmal zu löschen und neu zu installieren. Jetzt wo ich ein sauberes Python habe muss das doch funktionieren.
Nachdem ich also dann eine neue virtualvenv innerhalb meines PYCharm Projektes erstellt habe ging ich wieder in das Terminal mit der aktivierten (venv) dann eingegeben: um die Pakete für Projekt A also nur in der venv zu installieren.
Schön.
also wieder eine neues Projekt B erstellt und gleich wieder geguckt: pip freeze --locale
und schon wieder sind die Pakete von Projekt A wieder im Projekt B da.
Entweder mache ich irgendwo noch einen entscheidenden Fehler oder ich kapier das einfach nicht.
Vielleicht kann mir jemand helfen.
vg gomez
ich habe ein Problem bei der Erstellung eines neuen Django Projektes. Mir ist grundsätzlich die Funktion einer virtuellen Umgebung klar und würde gerne die Vorzüge, dass ich 2 unterschiedlicher Projekte auf einem Rechner entwickle, diese aber ihre jeweiligen eigenen Python Packages besitzen, gerne nutzen. Nur leider funktioniert es nicht.
Bisher entwickelte ich Projekt A auf meinem Rechner.
Heute startete ich ein neues Projekt, nennen wir es B auf dem gleichen Rechner.
Ich startete mit meiner PYCharm IDE ein neues Django Projekt "B" und das Setup bot mir an eine neue virtualenv zu erstellen. Der Base Interpreter ist auf meinen ursprünglich Python Folder gesetzt.
Den Haken "Inherit global site-packages" habe ich nicht aktiviert. So wie ich das verstehe bedeutet, dass meine neue virtuelle Umgebung keine globalen Pakete erbt.
Schön. Im Terminal von PyCharm wird auch gleich die virtuelle Umgebung aktiviert (venv).
Jetzt den Befehl
Code: Alles auswählen
pip freeze Hmmm, dann habe ich wohl die Pakete im Projekt A nicht innerhalb der virtuellen Umgebung von Projekt A installiert, sondern global??
Also habe ich erst einmal das Projekt B wieder von meinem Rechner gelöscht und auch meine Basis Python Installation deinstalliert.
Danach dann Python frisch installiert. In dem Pojekt A den Ordner venv gelöscht und auch den Ordner .idea um die alte, eventuell falsch aufgesetzte Umgebung nochmal zu löschen und neu zu installieren. Jetzt wo ich ein sauberes Python habe muss das doch funktionieren.
Nachdem ich also dann eine neue virtualvenv innerhalb meines PYCharm Projektes erstellt habe ging ich wieder in das Terminal mit der aktivierten (venv) dann eingegeben:
Code: Alles auswählen
pip freeze -r requirements.txtSchön.
also wieder eine neues Projekt B erstellt und gleich wieder geguckt: pip freeze --locale
und schon wieder sind die Pakete von Projekt A wieder im Projekt B da.
Entweder mache ich irgendwo noch einen entscheidenden Fehler oder ich kapier das einfach nicht.
Vielleicht kann mir jemand helfen.
vg gomez