[gelöst] Wie am besten Python Scripts in einem File bundeln?

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.
Benutzeravatar
framp
User
Beiträge: 52
Registriert: Samstag 9. Oktober 2010, 22:16
Wohnort: bei Stuttgart
Kontaktdaten:

Hyperion hat geschrieben:Wieso OT? "Packaging" passt doch zum Threadtitel.
Jein - für mich nicht. Den Thread habe ich erstellt weil ich meine diversen .py Files in einem File bundeln möchte, so dass ein Benutzer nur noch ein File downloaden und es starten muss. Das OT Thema dreht sich für mich um Sichtbarkeit von Variablen/Methoden/Classes in Klassen/Modulen/Packages. Für mich sind das 2 Paar Stiefel - oder nicht?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

framp hat geschrieben:
Hyperion hat geschrieben:Wieso OT? "Packaging" passt doch zum Threadtitel.
Jein - für mich nicht. Den Thread habe ich erstellt weil ich meine diversen .py Files in einem File bundeln möchte, so dass ein Benutzer nur noch ein File downloaden und es starten muss. Das OT Thema dreht sich für mich um Sichtbarkeit von Variablen/Methoden/Classes in Klassen/Modulen/Packages. Für mich sind das 2 Paar Stiefel - oder nicht?
Also Sichtbarkeit kann man natürlich in den Fokus einer solchen Diskussion stellen; ich hatte Dich zuletzt so verstanden, dass Du Dir für eben das "Bundeln" (wie Du es nennst) einmal die idiomatischen Python Werkzeuge angucken wolltest. Und das betrifft eben Module und Pakete ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
framp
User
Beiträge: 52
Registriert: Samstag 9. Oktober 2010, 22:16
Wohnort: bei Stuttgart
Kontaktdaten:

Hyperion hat geschrieben:Also Sichtbarkeit kann man natürlich in den Fokus einer solchen Diskussion stellen; ich hatte Dich zuletzt so verstanden, dass Du Dir für eben das "Bundeln" (wie Du es nennst) einmal die idiomatischen Python Werkzeuge angucken wolltest. Und das betrifft eben Module und Pakete ;-)
Ich muss zugeben dass ich momentan eine Menge Baustellen habe - deshalb vielleicht die Verwirrung. Vielleicht hilft Euch folgendes um mein Problem etwas zu verstehen:

Gegeben: Ein incrementell entwickeltes bash Script
Gesucht: Ein erweiterbares Script welches dieselben und mehr Funktionen und eine OOP Sprache benutzt
Kenntnisse: Java, C++, Smalltalk
Zielsprache: Python
Problem: Die Kenntnisse zu nutzen um das Gegebene in der Zielsprache zu implementieren. Python hat schon gewisse Unterschiede (zwangsläufig zu Java und C++, da interpretativ) die man kennenlernen muss :roll:

Vermutlich würde ich schneller zum Ziel kommen wenn ich alles in Java implementieren würde - aber ich will Python kennenlernen :!:
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

framp hat geschrieben:Python hat schon gewisse Unterschiede (zwangsläufig zu Java und C++, da interpretativ)
:?: Gerade da gibt es keinen Unterschied, da Python genauso wie Java zu Bytecode kompiliert wird und von einer VM ausgeführt wird. Und selbst bei C++ ist der Unterschied ob der Code nun kompiliert oder interpretiert wird eher nebensätzlich.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Leonidas hat geschrieben:
framp hat geschrieben:Python hat schon gewisse Unterschiede (zwangsläufig zu Java und C++, da interpretativ)
:?: Gerade da gibt es keinen Unterschied, da Python genauso wie Java zu Bytecode kompiliert wird und von einer VM ausgeführt wird. Und selbst bei C++ ist der Unterschied ob der Code nun kompiliert oder interpretiert wird eher nebensätzlich.
Irgendwie glaube ich, dass er in Wirklichkeit den Unterschied zwischen einer dynamisch und einer statisch typisierten Sprache meinte.
Benutzeravatar
framp
User
Beiträge: 52
Registriert: Samstag 9. Oktober 2010, 22:16
Wohnort: bei Stuttgart
Kontaktdaten:

snafu hat geschrieben:
Leonidas hat geschrieben:
framp hat geschrieben:Python hat schon gewisse Unterschiede (zwangsläufig zu Java und C++, da interpretativ)
:?: Gerade da gibt es keinen Unterschied, da Python genauso wie Java zu Bytecode kompiliert wird und von einer VM ausgeführt wird. Und selbst bei C++ ist der Unterschied ob der Code nun kompiliert oder interpretiert wird eher nebensätzlich.
Irgendwie glaube ich, dass er in Wirklichkeit den Unterschied zwischen einer dynamisch und einer statisch typisierten Sprache meinte.
Danke für die Klarstellung. Genau das meinte ich.
Benutzeravatar
framp
User
Beiträge: 52
Registriert: Samstag 9. Oktober 2010, 22:16
Wohnort: bei Stuttgart
Kontaktdaten:

Für alle, die es interessiert: Mit dem Script kann man wirklich unter Linux ein shell Script bauen - genauso wie ein exe mit py2exe unter Windows. Die von mir oben verlinkte Seite ist eigentlich nur ein Improvement von Python Cookbook von O'Reilly :roll:

Nachdem ich

Code: Alles auswählen

import main
main.main()
in

Code: Alles auswählen

import collect
collect.main()
geändert habe funktioniert es auch perfekt. Dabei ist collect.py mein Code der das Startprogramm als main() definiert hat.

Darauf bin ich gekommen nachdem ich die Links zu Module und Package gelesen hatte :lol:
Antworten