git und Python venv

Das Virtual Environment (venv) eines Pythonprojekts sollte nicht in git integriert werden und damit auch nicht auf GitHub hochgeladen werden. Der Grund ist, dass teilweise absolute Systempfade enthalten sind. Wenn jemand das Repo klont, werden diese Pfade unter Umständen nicht übereinstimmen.

Am einfachsten trägt man den Ordner venv in .gitignore ein.

Wenn ich das Projekt meinen Lernenden (z.B. im Classroom) bereit stelle, fehlen alle externen Pakete und Abhängigkeiten. Diese muss der Lernende selber wieder installieren.

Ich erstelle in jedem Projekt eine Datei requirements.txt mit den Abhängigkeiten dieses Projekts. Im Terminal von PyCharm (nicht Python Console) gebe ich den Befehl ein:

pip3 freeze > requirements.txt

Diese Datei wird nun mit Git ⇒ Add ins Repo aufgenommen. Wenn jemand das Repo klont, wird er von PyCharm gefragt, ob er anhand dieser Datei ein Virtual Environment erzeugen möchte. 1x [OK] klicken und nach wenigen Momenten hat man das venv und alle benötigten Pakete.

Beispiel

Diese Datei enthält die Abhängigkeiten für einfache Pythonprogramme mit PyTest. Du kannst Sie herunterladen und ins Git(Hub)-Repo einfügen.

attrs==22.1.0
colorama==0.4.6
exceptiongroup==1.0.0
iniconfig==1.1.1
packaging==21.3
pluggy==1.0.0
pyparsing==3.0.9
pytest==7.2.0
tomli==2.0.1
  • howto/git/python_venv.txt
  • Last modified: 2024/03/28 14:07
  • by 127.0.0.1