Welches Virtual Environment?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
tommy_de
User
Beiträge: 6
Registriert: Sonntag 21. Mai 2023, 14:02

Hallo,
ich bin noch sehr neu in Python und versuche es mir selbst beizubringen; auch, weil ich es später im Studium gebrauchen kann/werde für statistische Auswertungen etc.

Nun habe ich mir deshalb zwei Bücher zugelegt, da mir die Infos im Internet irgendwie zu widersprüchlich als Anfänger erscheinen. Da gibt es 1000 Wege für ein Problem und es wird oft nicht erklärt, warum dies das Problem löst. Auch wollte ich etwas haben, wo ich weiß, es ist fachlich korrekt.
Ich habe mir folgende Bücher zugelegt und hoffe, ich habe damit keinen Fehler begangen und sie sind schlecht (zurückgeben könnte ich sie noch):
- Python 3 Crashkurs von Eric Matthes
- Hitchhiker's Guide für Python von Kenneth Reitz

Nun las ich im letzterem was von virtual environments und da wurden mehrere vorgestellt. Nun weiß ich aber nicht, welches man als Anfänger nehmen sollte. Den Sinn dahinter verstehe ich und finde ich auch sehr gut und sollte man eigentlich jedem Anfänger beibringen, damit auch das System sauber bleibt.
So ganz habe ich zwar noch nicht verstanden, wie man es in der Praxis umsetzt bzw. woher ein Text-Editor oder IDE weiß, dass es dieses virtual environment nutzen soll, aber erst einmal wollte ich wissen, welches ich denn nutzen sollte?

Ich habe übrigens etwas Erfahrung durch mein Studium in VBA. Mehr nicht, weshalb ich mich für obige Bücher entschied und von Anfang an es auch „richtig“ lernen will.

Installiert habe ich mir Python normal über die offizielle Website und benutze MacOS. Als Text-Editor nahm ich auf Empfehlung von „Crashkurs“-Buch Sublime Text. Allerdings werden in diesem Buch, soweit ich bisher sah, keine virtual environments erwähnt bzw. so Dinger wie Matplotlib einfach global (aber mit Zusatz „-user“) installiert. Heißt das, dass man als Anfänger eher die Finger von virtual environments lassen sollte?

Na ja, ich bin über Tipps und Hilfe sehr froh, da ich mir wie in einem Dschungel vorkomme und eine Lichtung suche. Vieles verwirrt mich noch sehr, weshalb ich mich nun hier registrierte.

LG
Xbash_Zero
User
Beiträge: 30
Registriert: Montag 19. September 2022, 22:48

Hi,
virtual environments kann oder sollte man nutzen muss man aber nicht zwangsweise. Von Visual Studio Code weiß ich, dass ich mich da selber hab, drum kümmern müssen, das war unter Windows damals nicht so schön.... Unter meinen Linux VM's nutze ich keine env's, einfach das Skript ausführen und wenn es probleme mit den Paketen gibt, das letzte Backup wieder draufspielen usw...

Wenn du eine feste Arbeitsumgebung hast, wie dein MacOS, würde sich ein env aber anbieten.

Du hast jetzt mehrere möglichkeiten, entweder eine IDE wie PyCharme Community, finde ich persönlich gut aber etwas zu aufgebauscht. https://www.jetbrains.com/pycharm/download/#section=mac

Oder du machst weiter mit deinem Texteditor und richtest dir eine umgebung ein:

Ich selber nutze kein MAC aber so weit ich weiß gibt es da auch "venv"

Code: Alles auswählen

cd /Pfad/zum/Projekt
env_name ist ein beliebiger Name für deine Umgebung.

Code: Alles auswählen

python3 -m venv env_name

Code: Alles auswählen

source env_name/bin/activate

Alternativ hier noch eine Anleitung: https://sourabhbajaj.com/mac-setup/Pyth ... alenv.html

Ich hoffe das hilft, bei weiteren Fragen, gerne fragen^^

Gruß
Benutzeravatar
grubenfox
User
Beiträge: 414
Registriert: Freitag 2. Dezember 2022, 15:49

Unter Windows hatte ich mir im Laufe der Jahre immer alle externen Pakete einfach so auf die Platte installiert. Da Python von Windows selbst nicht genutzt wird, hätte ich mir nur meine eigenen Kram kaputtmachen können.

Mittlerweile sitze ich an einem Linux-Rechner und dort wird meines Wissens nach Python auch vom System bzw. der Desktop-Umgebung genutzt. Weil ich mir nun zum einen das System nicht zerschießen möchte und zum anderen mal mit verschiedene Python-Varianten experimentieren möchte, habe ich mir hier "pyenv" installiert (wegen dem Wechsel zwischen verschiedenen Python-Varianten) und zwar mit der "Virtualenv"-Erweiterung (eben für den ersten Punkt der Liste: installierte Pakete vom System-Python fernhalten). Dass ich mich so entschieden hatte, lag aber auch daran dass mir der Zusatz „-user“ nicht geläufig war.

Hier noch ein Link zum Thema: https://realpython.com/python-virtual-e ... -a-primer/
Enthält auch MacOS-Spezifische Kommentare/Erklärungen!
Aber ich kann nicht sagen wie alt/aktuell der Artikel eigentlich ist! :(

Eine Frage in die Runde: steht bei diesen RealPython-Artikeln eigentlich wirklich nirgendwo ein Erstellungsdatum oder bin ich zu blöde das zu sehen oder liegt es an meiner Browserkonfiguration ?
Xbash_Zero
User
Beiträge: 30
Registriert: Montag 19. September 2022, 22:48

grubenfox hat geschrieben: Sonntag 21. Mai 2023, 22:51 Eine Frage in die Runde: steht bei diesen RealPython-Artikeln eigentlich wirklich nirgendwo ein Erstellungsdatum oder bin ich zu blöde das zu sehen oder liegt es an meiner Browserkonfiguration ?
...
Edit:

Du musst eingeloggt sein, dann siehst du die Infos, wann es zuletzt bearbeitet wurde -> "by Martin Breuss Apr 13, 2022 105 Comments"
Benutzeravatar
grubenfox
User
Beiträge: 414
Registriert: Freitag 2. Dezember 2022, 15:49

Xbash_Zero hat geschrieben: Sonntag 21. Mai 2023, 23:07 Du musst eingeloggt sein, dann siehst du die Infos, wann es zuletzt bearbeitet wurde -> "by Martin Breuss Apr 13, 2022 105 Comments"
Aha, Danke! Da ich sehr zurückhaltend bin beim anmelden an irgendwelchen Servern... mal schauen, aber jetzt weiß ich schon mal etwas was ich dann als "Mehrwert" bekommen würde bei RealPython.
Ich sehe gerade, dass man auf der Startseite (realpython.com) unten unter "New Releases" für die neuesten Artikel auch ein Datum findet...
Xbash_Zero
User
Beiträge: 30
Registriert: Montag 19. September 2022, 22:48

grubenfox hat geschrieben: Sonntag 21. Mai 2023, 23:21
Xbash_Zero hat geschrieben: Sonntag 21. Mai 2023, 23:07 Du musst eingeloggt sein, dann siehst du die Infos, wann es zuletzt bearbeitet wurde -> "by Martin Breuss Apr 13, 2022 105 Comments"
Aha, Danke! Da ich sehr zurückhaltend bin beim anmelden an irgendwelchen Servern... mal schauen, aber jetzt weiß ich schon mal etwas was ich dann als "Mehrwert" bekommen würde bei RealPython.
Ich sehe gerade, dass man auf der Startseite (realpython.com) unten unter "New Releases" für die neuesten Artikel auch ein Datum findet...
Das mit dem Anmelden sehe ich ähnlich, allerdings hat die Seite bei mir mal dicht gemacht, weil zu häufig genutzt oder so :lol: jedenfalls hab ich dann den Schritt der Registrierung gemacht. Seit dem wollen die mir irgendwas verkaufen via Newsletter :twisted: ... Gut, für sowas hat man noch alternative Mail Adressen, wo der Spam dann hineinlaufen kann.
Benutzeravatar
sparrow
User
Beiträge: 4165
Registriert: Freitag 17. April 2009, 10:28

@tommy_de: Es kommt des Öfteren vor, dass man für verschiedene Projekt unterschiedliche Versionen eines Moduls braucht. Das ist der Sinn von venvs: Umgebungen zu kapseln. Je Umgebung kann es nur eine Version eines Moduls geben. Und da die meisten IDEs je Projekt ebenfalls ein virtusl environmrnt anlegen, ist es hilfreich zu verstehen wie die funktionieren.

Python hat eine ausgesprochen gute Dokumentation. Die sollte eine deiner primären Quellen sein. Zu venv gibt es da eine gute Erklärung.

Mir reicht Pythons venv Modul völlig. Ich manage die per Hand in der Konsole.
Und das zu tun hilft sehr, die Funktion zu verstehen.

Im Zusammenhang mit venvs solltest du auch verstehen, wie pip funktioniert und wozu die requirements.txt da ist.

Das System weiß, welches venv benutzt werden soll, weil es:

- in der aktuellen Umgebung aktiviert wurde

- der Interpreter aus dem venv aufgerufen wurde um das Script zu starten (new_venv/bin/python)

- der Suchpfad für Module auf das venv gesetzt wird (was beim Aktivieren automatisch paesiert)
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

@tommy_de: das Buch von Kenneth Reitz ist nicht sonderlich neu, enthält aber gute Tipps für den Umgang mit Python, die nicht allzuschnell altern. Der Crashkurs von Eric Matthes gehört auch zu den eher soliden Publikationen für die Einsteiger-Zielgruppe. Die kannst Du beide getrost behalten.

SublimeText ist ein guter Editor, wenn Du mit dem zurecht kommst, brauchst Du nicht nach Alternativen suchen. Neben den Editor solltest Du den Umgang mit dem Terminal lernen. Die Kombination von Editor und Terminal bietet zwar nicht unbedingt den gleichen Komfort wie eine IDE, aber (mindestens) die gleiche Funktionalität. Ich gehöre zu denen, die diese Kombi bevorzugen – aber das ist eine rein subjektive Wertung.

macOS ist zum Programmieren eine sehr brauchbare Platform, denn es ist ein Unix-System mit einer starken Nähe zu FreeBSD. Virtuelle Environments funktionieren dort wie unter Linux.

Der Editor weiß üblicherweise nichts von virtuellen Environments – sondern nur, wo die Dateien liegen, die editiert werden. Die virtuellen Environments werden über das Terminal aktiviert und die damit verknüpften Python-Versionen dann auch von dort gestartet. (Im Grunde ist die Aktivierung eines Environments nur eine Manipulation des System-Pfads.) Manche Editoren bieten die Möglichkeit, Code direkt aus dem Editor zu starten. In solchen Fällen müssen die Pfade zu den installierten Python-Versionen dem Editor bekannt sein – und dies sind nichts anderes als virtuelle Environments.

Zum Verwalten virtueller Environments kannst Du conda oder bspw. venv verwenden. conda hat den Vorteil zu jedem Environment eine dedizierte Python-Version installieren zu können, wohingegen venv nur mit bereits installierten Python-Versionen verwendet werden kann. Letzteres ist leichtgewichtiger, bei heutigen Plattengrößen aber nicht wirklich relevant.

Zum Installieren verschiedener Python Versionen auf dem Mac kannst Du z.B. das von grubenfox bereits erwähnte pyenv verwenden. Dieses wiederum lässt sich auf dem Mac z.B. via homebrew installieren. Wenn Du mit macOS programmieren möchtest, solltst Du homebrew auf jeden Fall installieren.
tommy_de
User
Beiträge: 6
Registriert: Sonntag 21. Mai 2023, 14:02

Erst einmal vielen Dank für die Zahlreichen und hilfreichen Antworten!

Ich werde mich auf jeden Fall durch die verlinkten Artikel lesen. Nun weiß ich ein bisschen mehr, wo ich mich auch seriös informieren kann, was nicht immer so leicht herauszufinden ist als Laie. Habe nämlich schon gehört, dass YouTube eher nicht so gut sein soll und auch Bücher vom Galileo-/Rheinwerk-Verlag sollte man auch wohl eher meiden.
Bin deshalb froh, bei meinen Büchern nicht ins Klo gegriffen zu haben. Dass das eine etwas älter ist, war mir bewusst und auch, dass es quasi kostenlos im Netz gibt. Allerdings mag ich echte Bücher irgendwie mehr, auch weil es einfacher ist, zwischen den Seiten hin- und herzublättern.

Für Sublime Text entschied ich mich, da es erstens im Crashkurs-Buch empfohlen wurde bzw. damit gearbeitet wird, aber auch, weil es schlank ist und nicht so aufgeblasen. Außerdem gefällt mir der Style. Das Auge isst ja bekanntlich mit :D Außerdem kann man damit auch Code kompilieren indem man cmd+B drückt (auf dem Mac und wahrscheinlich strg+B auf Windows). Dies klappte auch automatisch, ohne dass ich was in Sublime ändern oder eintragen musste. Ich habe allerdings auch Python bei der Installation auf Rat des Buches, zum PATH hinzugefügt.
Allerdings fand ich da und auch im Netz noch nichts konkretes, wie man simple und als all-in-one-Lösung damit ein virtual environment nutzt. Also falls da jemand helfen kann, gerne!
Jedenfalls würde es mir aber auch nichts ausmachen, über das Terminal den Code laufen zu lassen.

Soweit ich bisher durch überfliegen in den Artikeln las, wird ein neuer Ordner erstellt bei einer virtual environment, die ich dahin platzieren kann, wohin ich möchte wie in den Ordner des Projekts, wofür ich diese Umgebung gerade brauche. Und indem ich den Ordner dann lösche, ist das virtual environment auch vollständig weg/gelöscht. Zuvor muss ich es aber im Terminal aktivieren, wie auch hier im Thread schon gezeigt wurde. Ich nehme an, dann steuere ich über das Terminal eine .py-Datei an und diese wird dann ausgeführt mit den Paketen, die in dieser speziellen Umgebung installiert sind; und es werden Pakete ignoriert, die global installiert sind.

Wie pip funktioniert, habe ich mir schon angesehen. Es ist ja quasi ein App-Store der Pakete für Python, womit man diese leicht installieren und pflegen kann.
Wofür die requirements.txt da ist, ist mir allerdings noch nicht so klar. Es werden dort die jeweiligen Versionen der Pakete gelistet, soweit ich versanden habe. Aber wenn ich eine virtuelle Umgebung nutze, würde ich doch aus Kompatibilitätsgründen nicht updaten oder ist das ein schlechte Idee?

Anaconda will ich eher meiden, weil es auch so aufgeblasen ist, ich nicht genau weiß, was da genau passiert und was installiert wird und bei meiner Recherche haben damit auch einige (?) Leute auch Probleme, da es wohl ziemlich verbugt sei. Musste hier schon wegen der Uni und Corona MS Teams installieren und habe immer noch Alpträume von dieser Software :D

Homebrew kenne ich bzw. habe ich davon schon gehört. Allerdings erschloss und erschließt sich mir der Sinn dahin nicht so ganz und auch nicht im Sinne des Programmierens. Man hat doch pip und Homebrew kann dies nicht einmal ersetzen, sondern ist doch für „normale“ Open-Source-Software gedacht, womit man bei vielen Programmen mehr Komfort hat. Aber ich sehe irgendwie keinen Mehrwert bei mir. Vielleicht mag man mich hier aufklären :)

Außerdem habe ich es bisher so verstanden, dass man mit dem in Python integrierte venv immer nur die Python-Version nutzen kann, die auch global installiert ist.
Die anderen virtual environments können dagegen wohl auch eine beliebig andere Version nutzen, müssen aber installiert werden.
Welche Vorteile haben sie aber sonst?
So klar sind mir die Unterschiede noch nicht. Aber vielleicht wird es nach dem Lesen der verlinkten Artikel klar.
Benutzeravatar
sparrow
User
Beiträge: 4165
Registriert: Freitag 17. April 2009, 10:28

Das venv Modul verwendet den Interpreter, mit dem es erstellt wurde. Zumindest unter Windows. Ich denke, das wird unter MacOS nicht anders sein.
Das ist also nicht zwangsweise eine globale Installation.
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Von der großen Anaconda Distribution habe ich irgendwann auch Abstand genommen.

Es gibt aber eine auf das Minimum abgespeckte Version, genannt Miniconda. https://docs.conda.io/en/latest/miniconda.html

Die bietet auch venvs und kann je nach Bedarf erweitert werden.
Arbeite da seit Jahren mit unter Verwendung von Jupyterlab . https://jupyter.org/
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

@sparrow: ja, das ist auf macOS genauso.

@tommy_de: homebrew ist keine Alternative zu pip. Sondern, wie Du bereits vermutest, ein Installer für "fehlende" open-source Pakete. Falls Du eine Datenbank brauchst, kannst Du so z.B. Postgres schmerzfrei installieren, sowie andere Dinge auch.

Die requirements.txt Datei (die durchaus auch anders heißen darf, aber es ist sinnvoll sie so zu bezeichnen) wird in Verbindung mit pip verwendet und installiert dann genau das, was in der Datei definiert ist. Das ist hilfreich, wenn ein bestehendes Projekt lokal weiter entwickelt werden soll und sich damit (in einem virtuellen Environment :) ) ein "good known set" anlegen lässt.

Anaconda ist keineswegs "verbugt", sondern ein gewaltiges Paket, bei dessen Komplexität der Fehler meist vor der Tastatur sitzt. Das von ThomasL erwähnte miniconda ist da viel schlanker und bringt im wesentlichen nur den Paketmanager conda mit, und auf den kommt es an. Mit conda kannst Du alles nachinstallieren, was Anaconda bereits mitbringt, oder eben nur Teile davon. Es hat keine Nachteile, miniconda statt Anaconda zu installieren. Eine Alternative zu miniconda wäre mamba, das ist funktionskompatibel, setzt defaultmäßig auf conda-forge und ist damit von Anaconda Inc. unabhängig.
tommy_de
User
Beiträge: 6
Registriert: Sonntag 21. Mai 2023, 14:02

Danke! Ich habe die Zeit übrigens genutzt, um mich recht intensiv in die Dinge einzulesen. Allerdings kam nun das Problem, dass ich etwas verwirrter als vorher bin bzw. mich frage, ob vielleicht Anaconda nicht doch besser für mich geeignet ist inkl. einer IDE.

Denn bei Sublime Text kann man zwar den Code ausführen, allerdings fand ich keine wirkliche Lösung, wie diesen Editor mit einer virtuellen Umgebung verbindet. Da gibt es zwar ein And-On (?), aber dies ist für Version 3 gemacht und die letzte Aktualisierung ist auch schon mehr als 6 Jahre her.
Das heißt, ich müsste die Programme im Terminal ausführen in der virtuellen Umgebung. Im Grunde kein Problem, wenn auch etwas umständlicher.
Aber da kommt man wohl sowieso nicht vorbei, wenn man Web-Applikationen macht, soweit ich es im Crash-Kurs-Buch mit Django sah. Paradoxerweise wird nur dafür im Buch eine virtuelle Umgebung aufgesetzt.
Und im Buch Hitchhiker's Guide wird erwähnt, dass man parallel zur IDE einen Editor zum programmieren nutzt. Warum beides?

Und da ich im Studium später evtl. auch mit Python vermutlich arbeiten werde (ich weiß es nicht, da ich VWL studiere, aber dort auch mit Statistik und Daten viel gemacht wird und manche eben Python nutzen, aber andere R oder so etwas wie gretl), frage ich mich auch, ob es umstieg auf Anaconda sinnvoll wäre?
Wobei ich hierbei nicht so ganz verstehe, wie man Jupyter Notebook oder Spyder dort in einer virtuellen Umgebung laufen lassen kann? Reicht es, diese via Conda neu in einer virtuellen Umgebung zu installieren und die sind dann automatisch mit der virtuellen Umgebung und der dort installierten Programme verknüpft?
Denn sonst verstehe ich nicht den Sinn, warum diese ganzen Pakete und Programme bei Anaconda global installiert werden?!

Und auch den Vorteil von Miniconda zum normalen Python (dies heißt doch offiziell CPython?) ist mir noch nicht ganz klar. Denn Jupyter Notebook und Spyder kann ich doch auch via pip installieren oder gibt es da und bei den Paketen für Data Science Probleme (ich las nur was in Bezug auf Windows und CPython und sogenannten „wheels“ [wobei ich noch nicht weiß, was das konkret ist] und der Empfehlung zu Anaconda)?

Denn Data Science ist nach Recherche wohl wirklich das Feld, welches mich am meisten interessiert und welches ich als erstes vertiefen will. Gerade solche tollen und schönen Graphen via Matplotlib zu erstellen finde ich toll!

Was wäre also da die beste Lösung für mich?

Angefangen habe ich aber schon und bin mit den Grundlagen im Buch fast durch. Einiges kannte ich auch noch von VBA aus der Uni, nur mit anderer Syntax und es macht wirklich Spaß!

Aber wie ihr seht, tauchen immer neue Fragen auf und ich hoffe, es ist ok, wenn ich diese hier stelle :)
Benutzeravatar
__blackjack__
User
Beiträge: 13007
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@tommy_de: An welcher Stelle wird im Hitchhiker's Guide denn die parallele Verwendung von IDE und Editor genannt?

Anaconda war zumindest früher für Windows interessant, weil man unter Windows normalerweise nicht so leicht Python-Packages installieren kann die C-Quelltexte übersetzen müssen. Seit wheels, das sind Pakete die auch vorkompilierte C-Bibliotheken enthalten können, und das mittlerweile immer mehr Projekte wheel-Dateien im Python Package Index zur Verfügung stellen, ist das nicht mehr ganz so problematisch.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
tommy_de
User
Beiträge: 6
Registriert: Sonntag 21. Mai 2023, 14:02

__blackjack__ hat geschrieben: Montag 29. Mai 2023, 22:55 An welcher Stelle wird im Hitchhiker's Guide denn die parallele Verwendung von IDE und Editor genannt?
Einmal am Anfang von Kapitel 3, dass die Autoren Sublime Text als Editor und PyCharm als IDE bevorzugen.
Dies zeigt aber noch nicht klar, dass es parallel benutzt wird.
Dies wird dann im Unterkapitel IDEs erwähnt, dass viele Entwickler sowohl einen Texteditor als auch eine IDE nutzen, wobei bei komplexeren etc. Projekten zur IDE dann gewechselt wird.
Also wird ja beides irgendwie genutzt, wenn auch nicht zeitgleich Parallel. Trotzdem wundert es mich.
__blackjack__ hat geschrieben: Montag 29. Mai 2023, 22:55 Anaconda war zumindest früher für Windows interessant, weil man unter Windows normalerweise nicht so leicht Python-Packages installieren kann die C-Quelltexte übersetzen müssen. Seit wheels, das sind Pakete die auch vorkompilierte C-Bibliotheken enthalten können, und das mittlerweile immer mehr Projekte wheel-Dateien im Python Package Index zur Verfügung stellen, ist das nicht mehr ganz so problematisch.
Das heißt, dass ich auf einem Mac keine Probleme damit habe?
Und könnte ich mit der virtuellen Umgebungen „venv“ von CPython auch leicht Jupyter oder Spyder nutzen, falls ich dies in Zukunft brauchen würde und würden diese die virtuelle Umgebung auch automatisch erkennen oder gibt es irgendwelche Probleme damit?

Denn wenn das alles gar kein Problem mehr heutzutage ist, warum verwenden dann noch so viele Anaconda oder Miniconda?
Wobei ich es bei Anaconda noch verstehen kann, weil viele Pakete schon „dabei“ sind und jemand, der wirklich null Kenntnisse hat, damit gut bedient ist.

Ich habe heute auch aus Interesse mal in andere Python-Bücher bei uns an der Uni in der Bibliothek geguckt als ich eine Freistunde hatte. Was es aber auch nicht leichter macht, weil jedes Buch eine andere Methode wählt, wie man an Python „kommt“ :D
Mein Problem ist, dass gerne eine konsistente Lösung hätte. Also etwas, womit ich anfangen kann und die Freiheit habe, damit auch später alles zu machen, was so möglich ist und nicht gezwungen bin zu wechseln, weil es nicht machbar ist oder es super umständlich und kompliziert ist, etwas zum laufen zu bringen. Aber eben auch Möglichkeit, leicht und sauber (also in einer virtuellen Umgebung) Dinge auszuprobieren.
Benutzeravatar
__blackjack__
User
Beiträge: 13007
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@tommy_de: Ein Grund IDE *und* Editor zu verwenden sind unterschiedliche Zielsysteme. Für MicroPython eignet sich beispielsweise Thonny-IDE. Und bei Web-Entwicklung oder wenn man aus anderen Gründen mal etwas direkt auf einem Server bearbeiten will/muss, lohnt es sich einen rein textbasierten Editor zu verwenden. Vi(m) ist so ziemlich auf jedem Unix/Linux-Server zu finden. Ich verwende beispielsweise hauptsächlich Thonny, Sublime Text, und Vim. Wobei Sublime Text + Plugins ja im Grunde schon eine kleine IDE ist. Bei guten Editoren die man mit Plugins erweitern kann, ist die Grenze zur IDE fliessend.

Venvs muss man aktivieren, was automatisch passiert wenn man die in dem venv installierten Skripte verwendet.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
tommy_de
User
Beiträge: 6
Registriert: Sonntag 21. Mai 2023, 14:02

Danke für die Erklärung! War sehr hilfreich.
Allerdings beantwortet es noch nicht meine Hauptfrage, was am geeignetsten für mich wäre. Und ob ich alles auch ohne Problem mit Standard-Python machen kann.
So ganz bin ich nämlich noch nicht dahinter gestiegen.
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Beides existiert, weil beides von verschiedenen Leuten bevorzugt wird. Wie das bei dir aussieht, kann keiner wissen. Außer du selbst. Probier es aus.

Und du irrst, wenn du glaubst, dein Weg wäre pfeilgerade und ohne Irrwege. Du wirst in jedem Fall Probleme haben. Egal mit welchem Python und mit welcher Umgebung. Der einzige Weg damit umzugehen, ist anzufangen.
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

__deets__ hat geschrieben: Donnerstag 1. Juni 2023, 23:51 Und du irrst, wenn du glaubst, dein Weg wäre pfeilgerade und ohne Irrwege. Du wirst in jedem Fall Probleme haben. Egal mit welchem Python und mit welcher Umgebung. Der einzige Weg damit umzugehen, ist anzufangen.
Gut gesprochen.

Für dieses "Spiel" gibt es kein Speedrun Video auf Youtube. Man muss es selber spielen.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

tommy_de hat geschrieben: Donnerstag 1. Juni 2023, 19:54 Allerdings beantwortet es noch nicht meine Hauptfrage, was am geeignetsten für mich wäre. Und ob ich alles auch ohne Problem mit Standard-Python machen kann.
Wenn du primär Datascience betreiben möchtest, dann könnte es sich anbieten, so anzufangen: Installiere miniconda und wechsel anschließend in die Konsole:

Code: Alles auswählen

$ conda create -n first_try python=3.10
$ conda activate first_try
$ conda install jupyterlab
$ jupyter lab
Nun hast du ein virtuelles environment ("first_try") angelegt, dieses aktiviert, jupyter lab mit Browser-basierter GUI gestartet und kannst nun mit einem Notebook anfangen – das ist ziemlich praktisch zum Experimentieren.

Später kannst Du noch pandas und was auch immer nachinstallieren. Und weitere Environments anlegen. Und vom Notebook zu einem Editor oder einer IDE wechseln, wenn du anders arbeiten möchtest. Es gibt nicht nur einen Weg zu arbeiten, sondern sehr viele Tools für den Umgang mit Python. Schlußendlich kommt es, wie so oft, darauf an, was du machen möchtest.
Antworten