Seite 1 von 1
Hilfe bei virtuel environment
Verfasst: Mittwoch 13. November 2024, 14:59
von Pitwheazle
Ich möchte jetzt eure Vorschläge zu meinem, an anderer Stelle, vorgestellten Projektes des Rechenduells in Angriff nehmen. Dazu muss ich Biblitoheken installieren, die ich in meinem bestehenden Rechentrainer.app Projekt nicht benötige und denke, jetzt ist es Zeit, mich mit VE zu beschäftigen.
Habe ich das richtig verstanden, dass ich auch bei meinem bestehenden Projekt jetzt noch ein VE einrichten kann oder hätte ich das von Anfang an machen müssen? Und, wenn ich das eingerichtet habe, wie bette ich ein neues Projekt in ein neues VE ein? Einfach ein neues Projekt öffnen und "venv" ausführen?
Re: Hilfe bei virtuel environment
Verfasst: Mittwoch 13. November 2024, 17:06
von DeaD_EyE
Man kann das venv entweder mittels source aktivieren:
Oder man führt einfach direkt den Python-Interpreter mit dem Programm aus:
Code: Alles auswählen
source /home/USER/venv_rechentrainer/bin/pyhon /home/USER/PROGRAMM/main.py
Die Installation des venv ist auch recht einfach:
Die Installation der Pakete kann man manuell mit
pip vornehmen. Das Aktivieren nicht vergessen, bevor Befehle wie
pip oder
python mit dem
venv verwendet werden sollen. Mach das erstmal mit dem venv, später kannst du ggf. auf etwas umsteigen, dass all diese Vorgänge automatisiert: Pakete aktualisieren, Code-Formatierung, Tests ausführen usw.
Re: Hilfe bei virtuel environment
Verfasst: Mittwoch 13. November 2024, 17:57
von Pitwheazle
Vielen Dank schonmal. Aber habe Verständnis für jemanden der das noch nie gemacht hat:
Ich bin unsicher mit der Benennung. Der code, den ich schreibe, liegt in meinen Daten in einem Ordner "rechentrainer.app".
Der Code von Python liegt unter "C:\Users\Pit\AppData\Local\Programms"?
Muss ich in deinem Code "/USER/venv_rechentrainer/bin/pyhon" das "rechentrainer" anpassen oder erstellt der Code eine VE mit dem Namen "rechentrainer"?
Und deinen erstgenannten Code führe ich z.B. mittels cmd aus oder wahlweise den zweiten im Terminal von VBCode?
Noch eine Zusatzfrage:
Der Code von Django liegt dann wiederum als Extention von VSBasic im Ordner "...\Local\Programms\Microsoft VS Code" und/oder Im Ordner von Python?
Re: Hilfe bei virtuel environment
Verfasst: Mittwoch 13. November 2024, 18:10
von __blackjack__
@Pitwheazle: Das hätte man jetzt aber auch einfach ausprobieren können:
Code: Alles auswählen
$ ls test_venv
ls: cannot access 'test_venv': No such file or directory
$ python3 -m venv test_venv
$ ls test_venv
bin include lib lib64 pyvenv.cfg
Das Verzeichnis wird also erstellt und muss/darf nicht bereits existieren. Nach dem erstellen sind die entsprechenden Programme im ``bin/``-Verzeichnis in dem venv-Verzeichnis.
Re: Hilfe bei virtuel environment
Verfasst: Mittwoch 13. November 2024, 18:20
von Pitwheazle
Prima!
Das habe ich jetzt ausprobiert und habe innerhalb meines Codes ein "test_venv" Verzeichnis und das kümmert sich um alles? Habe ich nicht gelesen, dass sich jetzt mein Cursoranzeige ändern müsste - oder muss ich das jetzt erst aktivieren?
Und kann ich das "test" jetzt umbenennen oder muss ich es entfernen und einen sinnvollen Namen geben?
... und mit meinem geplanten neuen Projekt mache ich das auch so und die kommen sich dann nicht in die Quere und benutzen jeweils eigenen Umgebungen/Bibliotheken?
Re: Hilfe bei virtuel environment
Verfasst: Mittwoch 13. November 2024, 22:49
von DeaD_EyE
Pitwheazle hat geschrieben: Mittwoch 13. November 2024, 18:20
Und kann ich das "test" jetzt umbenennen oder muss ich es entfernen und einen sinnvollen Namen geben?
Weißt du noch in einem halben Jahr, was du gemacht hast? Ich benenne Dinge so, dass ich sofort weiß, worum es geht. Das existierende
venv kann, soweit ich weiß, nicht umbenannt werden. Erstell einfach ein neues mit dem gewünschten Namen.
Es gibt noch andere Tools, aber zuerst solltest du mit venv warm werden.
Re: Hilfe bei virtuel environment
Verfasst: Donnerstag 14. November 2024, 07:19
von sparrow
All das wird auch in der
Dokumentation sehr ausführlich erklärt und beschrieben.
STRG+F "A virtual environment is".
Re: Hilfe bei virtuel environment
Verfasst: Donnerstag 14. November 2024, 15:49
von noisefloor
Zu venv gibt es auch einen Kapitel im Python Tutorial und dessen deutscher Übersetzung:
https://pytude.readthedocs.io/de/latest/venv/.
Gruß, noisefloor
Re: Hilfe bei virtuel environment
Verfasst: Sonntag 17. November 2024, 19:09
von Pitwheazle
Vielen Dank für eure Hinweise.
sparrow hat geschrieben: Donnerstag 14. November 2024, 07:19
All das wird auch in der
Dokumentation sehr ausführlich erklärt und beschrieben.
STRG+F "A virtual environment is".
Die Beschreibung hat mich wieder etwas erschlagen und ich habe sie nach einiger Zeit wieder zugemacht.
Dann habe ich diese hier
https://docs.python.org/3/tutorial/venv.html gefunden, damit kann ich was anfangen.
... und das hier
... ist ja wohl die Übersetzung dazu.
Ich habe das hier
__blackjack__ hat geschrieben: Mittwoch 13. November 2024, 18:10
@Pitwheazle: Das hätte man jetzt aber auch einfach ausprobieren können:
Code: Alles auswählen
$ ls test_venv
ls: cannot access 'test_venv': No such file or directory
$ python3 -m venv test_venv
$ ls test_venv
bin include lib lib64 pyvenv.cfg
Das Verzeichnis wird also erstellt und muss/darf nicht bereits existieren. Nach dem erstellen sind die entsprechenden Programme im ``bin/``-Verzeichnis in dem venv-Verzeichnis.
, wie bereits berichtet, schon mal ausprobiert und, wie ebenfalls beschrieben, wollte ich dieses wieder entfernen um den Namen "test" loszuwerden. Dann habe ich aber festgestellt, dass "manage.py shell schon mal nicht mehr funktionierte.
Ich habe den Ordner einfach entfernt und dann ging das wieder.
Es wäre schön, wenn ihr mir jetzt nochmal helft und mir sagt, ob das, was ich jetzt zu verstehen glaube, so stimmt:
Mit dem VE wird weder der Code der Pythoninstallation in meinem System, noch der Code in meinem Projekt geändert. Es wird nur festgelegt, auf welche Pythonversion und welche Bibliotheken aus meinem Projet zugegriffen wird. So ähnlich wie gitignore festlegt, was gespeichert wird.
Aber das:
DeaD_EyE hat geschrieben: Mittwoch 13. November 2024, 17:06
Man kann das venv entweder mittels source aktivieren:
Oder man führt einfach direkt den Python-Interpreter mit dem Programm aus:
Code: Alles auswählen
source /home/USER/venv_rechentrainer/bin/pyhon /home/USER/PROGRAMM/main.py
Die Installation des venv ist auch recht einfach:
Die Installation der Pakete kann man manuell mit
pip vornehmen. Das Aktivieren nicht vergessen, bevor Befehle wie
pip oder
python mit dem
venv verwendet werden sollen. Mach das erstmal mit dem venv, später kannst du ggf. auf etwas umsteigen, dass all diese Vorgänge automatisiert: Pakete aktualisieren, Code-Formatierung, Tests ausführen usw.
klingt doch viel komplizierter als:
... wo liegt hier der Unterschied?
Aber noch was:
Ich wollte jetzt das, an anderer Stelle beschriebene, Projekt mit dem Rechenduell mit der direkten Auswertung ohne Beamer und Geschrei in Angriff nehmen und dafür die Bibliotheken für chanels und websockets ergänzen. Diese stören aber doch mein bisheriges Projekt nicht weiter oder habe ich da was übersehen?
Re: Hilfe bei virtuel environment
Verfasst: Sonntag 17. November 2024, 19:32
von Dennis89
Hallo,
das klingt nicht komplizierter, dass ist das Gleiche.
Damit erstellst du in dem Verzeichnis in dem du dich befindest eine virtuelle Entwicklungsumgebung. Den Ordner dazu nennt sich in dem Fall `tutorial-env`. In diesem befindet sich ein Ordner `bin` und darin eine ausführbare Datei `activate`. Wenn du diese ausführst ist deine Umgebung aktivert und wenn du jetzt etwas mit `pip` installierst, wird es nur für diese Umgebung installiert und wenn du etwas mit `python` ausführst, dann wird das Python mit den eben installierten Bibliotheken ausgeführt.
Deine letzte Frage verstehe ich nicht ganz. Wenn du zu deinem Projekt weitere Bibliotheken installierst, dann sollte dass auf den Programmablauf keinen Einfluss haben.
Grüße
Dennis
Re: Hilfe bei virtuel environment
Verfasst: Sonntag 17. November 2024, 20:07
von noisefloor
Hallo,
Mit dem VE wird weder der Code der Pythoninstallation in meinem System, noch der Code in meinem Projekt geändert. Es wird nur festgelegt, auf welche Pythonversion und welche Bibliotheken aus meinem Projet zugegriffen wird.
Korrekt. Mit Hilfe eines venvs kann man quasi beliebig viele Python-Installation unabhängig voneinander nebeneinander haben und darin dann beliebige Module nachinstallieren. BTW: wirklich niemand kürzt virtual environment mit VE ab... entweder ausschreiben oder venv schreiben.
... wo liegt hier der Unterschied?
Absoluter Pfad vs. relativer Pfad.
und dafür die Bibliotheken für chanels und websockets ergänzen. Diese stören aber doch mein bisheriges Projekt nicht weiter oder habe ich da was übersehen?
Du kannst beliebig viele Python-Module nachinstallieren, stören tut da nichts. Wenn du die Module nicht importierst "sieht" dein Projekt die doch gar nicht. Aber wieso Channels und Websockets? Channels implementiert Websockets für Django.
Gruß, noisefloor