Python-Verzeichnis

Probleme bei der Installation?
Antworten
Benutzeravatar
Perlchamp
User
Beiträge: 172
Registriert: Samstag 15. April 2017, 17:58

hallo zusammen,
ich bin neu hier und absoluter Python-Anfänger. ich habe Python 3.6.1 erfolgreich installiert. nun zu meiner Frage:
ich würde gerne etwas über die Verzeichnis-Struktur wissen, und zwar was alle Ordner bedeuten, und was da drinne ist. bisher habe ich nur herausbekommen, dass im ordner "Doc" das Manuel drinne ist, und dass man im Ordner Scripts seine eigenen Skripte speichert. wozu sind denn die anderen Ordner "Dlls", "include", "Lib", "libs", "tcl" und "Tools" , und welche Dateien sind in der Regel dort untergebracht ?

im voraus besten dank

so long
wer lesen kann ist klar im Vorteil ;-)
es gibt keine Probleme, sondern nur Lösungen !
Bildung ist die Freude auf mich selbst !
BlackJack

@Perlchamp: Eigentlich braucht Dich diese Verzeichnisstruktur nicht wirklich zu interessieren und Du speicherst da auch selber nichts drin! Also *nicht* anfangen Deine Programm in dem Scripts-Ordner anzulegen! Wenn in dem Ordner mit der Python-Installation etwas landen sollte, dann nur über Werkzeuge wie ``pip``, nicht manuell hin kopiertes oder angelegtes.

Welche Dateien in den Verzeichnissen liegen kannst Du ja nachschauen. Dann wird das entweder klar, oder Du brauchst das Wissen sowieso nicht. :-)
Benutzeravatar
Perlchamp
User
Beiträge: 172
Registriert: Samstag 15. April 2017, 17:58

Die Antwort - vielen Dank dafür - passt leider nicht zu meiner Frage ...

so long
wer lesen kann ist klar im Vorteil ;-)
es gibt keine Probleme, sondern nur Lösungen !
Bildung ist die Freude auf mich selbst !
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@Perlchamp: was auch immer Dir das bringen mag:
Im Hauptverzeichnis liegen die Python-Anwendung python.exe und die dazu gehörige DLL python36.dll.
In DLLs liegen Module, die von C in Maschinensprache übersetzt wurden. In include liegen C-Headerdateien (ja, so ein Verzeichnis heißt meist include) und libs die vom Compiler erzeugten lib-Dateien um Python in andere Programme C-Programme einbinden zu können. Lib schließlich enthält alle Python-Pakete. Scripts sind Zusatzprogramme, wie z.B. pip. share kennt man aus dem Unix-Umfeld, hier liegen aber nur die man-Pages. tcl enthält die tcl/tk-Bibliothek. Und Tools enthält, oh Wunder, Tools, also Zeugs, das irgendwer für nützlich erachtet hat.

Für Dich ist eigentlich nur Scripts relevant, weil man da pip findet und Lib, wenn man in irgendein Modul mal reinschauen will.

Wie BlackJack schon geschrieben hat, sollte man aber in keinem der Verzeichnisse selbst was verändern.
Benutzeravatar
Perlchamp
User
Beiträge: 172
Registriert: Samstag 15. April 2017, 17:58

@Sirius:
vielen Dank für deine präzise Antwort (warum so schnippig ?) und die Zeit, die du dafür investiert hast.

@BlackJack:
ich möchte hier keine Grundsatzdiskussion beginnen, aber was ist falsch daran, wenn ich beispielsweise im Scripts-Verzeichnis einen Unterordner anlege, in dem ich dann meine eigenen Scripte beispielsweise via IDLE-Editor speichere?
was ist falsch daran, wenn ich mir ebenfalls im Scripts-Ordner einen Unterordner namens 'mylibs' anlege, eine Datei namens 'sitecustomize.py' erstelle, mit folgendem Inhalt:

Code: Alles auswählen

import sys
sys.path.append("C:\\Program Files\\Python36\\Scripts\\mylib")

und diese Datei in den 'Lib'-Ordner kopiere ?
Kann ich dann nicht all meine .py-Dateien, die nur aus Funktionen, etc. bestehen und die ich im Ordner 'mylibs' speichere über den import-Befehl in meine eigenen Programme einbinden?
was ist also falsch daran ?

so long
wer lesen kann ist klar im Vorteil ;-)
es gibt keine Probleme, sondern nur Lösungen !
Bildung ist die Freude auf mich selbst !
BlackJack

@Perlchamp: Falsch daran ist das es nicht vorgesehen ist, das diese Strukturen dort nicht garantiert sind, und das es einen normalen, vorgesehenen Weg gibt Skripte und Bibliotheken zu installieren, der keine Kenntnis von der konkreten Verzeichnisstruktur erfordert, und der auf allen Plattformen gleich funktioniert auch wenn die Verzeichnisstrukturen dort ganz anders aussehen.

Zudem braucht man bei dem von Dir genannten Verzeichnis auch Admin-Rechte, das heisst um mit IDLE dort Dateien ablegen zu können, müsste man als Admin programmieren, was sicherlich nicht der Normalfall oder auch nur eine gute Idee ist.

Der Trend geht zudem deutlich davon weg überhaupt etwas an der Standard-Installation zu ändern und stattdessen mit virtuellen Umgebungen zu arbeiten und dort hinein alles zu installieren was das jeweilige Projekt benötigt.
Benutzeravatar
Perlchamp
User
Beiträge: 172
Registriert: Samstag 15. April 2017, 17:58

@BlackJack:
in ordnung. es leuchtet mir ein, dass man an der standard-installation nichts verändern und hinzufügen soll. könntest du mir evtl. auf die schnelle erklären, wie man eine viruelle umgebung einrichtet und nutzt? wäre echt duffte von dir.

so long
wer lesen kann ist klar im Vorteil ;-)
es gibt keine Probleme, sondern nur Lösungen !
Bildung ist die Freude auf mich selbst !
BlackJack

@Perlchamp: Das kommt ein bisschen auf die Version an. Bei Python 2 muss man dafür noch `virtualenv` installieren, in aktuellen Python 3 Installation ist das `venv`-Modul Bestandteil der Standardbibliothek, mit entsprechender Dokumentation. Dort ist dann auch ein Link zum PEP für dieses Modul und zum entsprechenden Abschnitt im „Python Packaging User Guide“.
Benutzeravatar
Perlchamp
User
Beiträge: 172
Registriert: Samstag 15. April 2017, 17:58

hallo,
danke für deine antwort, echt knorke ...
werde mich da mal reinfrimeln

so long
wer lesen kann ist klar im Vorteil ;-)
es gibt keine Probleme, sondern nur Lösungen !
Bildung ist die Freude auf mich selbst !
Antworten