Hallo zusammen
Wer von euch kennt sich mit "third party modules" und "virtual environment" gut aus? Ich habe gelesen, dass bei Modulen von Drittanbietern es ratsam ist, eine virtuelle Umgebung einzurichten. Dies habe ich gemacht und in dem speziell dafür eingerichteten Ordner, Module von Drittanbietern abgelegt.
Was mir nicht ganz klar ist: Welche Schritte ich genau unternehmen muss, damit ich diese Pakete nutzen kann...
Ich benutze einen Mac (mit aktuellem Betriebssystem Mojave) und aktuell den Editor/die Interactive Shell von IDLE.
Meine Recherchen haben ergeben, dass man zuerst im Terminal die virtuelle Umgebung aktivieren muss. Das klappt bei mir. Unklar ist mir, ob ich dann zwingend den IDLE vom Terminal aus starten muss oder wie das genau geht. Jedenfalls, wenn ich das so mache, dann öffnet sich IDLE war, aber wenn ich dann Programme mit den gerade installierten 3rd-Party Modulen laufen lasse, dann wirft es mich automatisch aus der virtuellen Umgebung raus. Es kommt dann die Meldung:
objc [14076]: Class FIFinderSyncExtensionHost is implemented in both /System/Library/PrivateFrameworks/FinderKit.framework/Versions/AFinderKit (0x7fffa9866210) and /System/Library PrivateFrameworks/FileProvider.framework/OverrideBundles/FinderSyncCollaborationFileProviderOverride (0x10fd32dc8). One of the two will be used. Which one is undefined.
Mich würde es sehr interessieren, wie euer normaler Workflow ist, wenn ihr 3rd party Module nutzt.
Wäre um eine Antwort sehr dankbar!
Workflow bei der Nutzung von Modulen von Drittanbietern / virtual environment
Ja, venvs sind wichtig. Der Grund liegt darin, dass man so pro Projekt seine jeweils eigenen Abhaengigkeiten bereitstellen kann, ohne sich um Versionskonflikte kuemmern zu muessen. Was mich verwirrt ist deine Aussage zu "Module von Drittanbietern abgelegt". Das klingt falsch. Man macht das nicht selbst. Sondern man benutzt das in das venv installierte pip-Kommando (oder gar pipenv, wenn man mag), um die Pakete ordnungsgemaess zu installieren.
Was dann wiederum IDLE angeht - das ist wahrscheinlich einfach zu primitiv. Bessere IDEs unterztuetzen die Angabe eines expliziten Python-Interpreters. Und dazu benuzt du den im venv befindlichen (/mein/pfad/zum/virtualenv/bin/python). Das reicht schon, activate ist nur in der Shell eine Abkuerzung, um den Pfad so zu verbiegen, das 'python' eben /mein/pfad/zum/virtualenv/bin/python ist.
Was dann wiederum IDLE angeht - das ist wahrscheinlich einfach zu primitiv. Bessere IDEs unterztuetzen die Angabe eines expliziten Python-Interpreters. Und dazu benuzt du den im venv befindlichen (/mein/pfad/zum/virtualenv/bin/python). Das reicht schon, activate ist nur in der Shell eine Abkuerzung, um den Pfad so zu verbiegen, das 'python' eben /mein/pfad/zum/virtualenv/bin/python ist.
-
- User
- Beiträge: 9
- Registriert: Freitag 15. Februar 2019, 14:33
Vielen Dank @deets für deine Antwort. Zu deinem ersten Punkt: pip ist mir bekannt, ich habe die pakete auch so installiert.
Nun zu IDLE: Ja, ich bin mir bewusst, dass dies recht primitiv ist. Du hast erwähnt, dass es bessere IDEs gibt: Kannst du mir ein paar empfehlen? Normalerweise habe ich Anaconda/Jupyter, IDLE habe ich nur gebraucht, weil ich ein Einsteigertutorial mache und dort wird IDLE gebraucht...trinket kenn ich auch noch.
Danke für deine Tipps!
Nun zu IDLE: Ja, ich bin mir bewusst, dass dies recht primitiv ist. Du hast erwähnt, dass es bessere IDEs gibt: Kannst du mir ein paar empfehlen? Normalerweise habe ich Anaconda/Jupyter, IDLE habe ich nur gebraucht, weil ich ein Einsteigertutorial mache und dort wird IDLE gebraucht...trinket kenn ich auch noch.
Danke für deine Tipps!
-
- User
- Beiträge: 9
- Registriert: Freitag 15. Februar 2019, 14:33
Ok, danke euch beiden. Ich versuche dann mal mit diesem pyCharm in meiner virtualenv "herumzuhantieren". Mal schauen, ob ich das schaffe.
-
- User
- Beiträge: 9
- Registriert: Freitag 15. Februar 2019, 14:33
Danke @Tholo, das habe ich gestern auch herausgefunden! Habe pycharm community und pycharm edu heruntergeladen. Scheint mir das richtige zu sein für mich!