Programm von Entwicklungsumgebung unabhängig machen

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.
Antworten
Aries
User
Beiträge: 51
Registriert: Mittwoch 21. August 2013, 01:19

Hallo, ich habe ein paar Fragen dazu, wie man ein Python-Programm von der Entwicklungsumgebung unabhängig macht.

Ich öffne Python Shell, klicke auf File und New Window und schreibe folgendes Programm:

Code: Alles auswählen

from Tkinter import *
tk = Tk()
tk.mainloop()
Dann speichere ich und klicke auf Run und Run Module.

1. Wie verhindere ich, dass dabei Python Shell aktiviert wird, sondern nur das leere Fenster erscheint?

2. Wie erreiche ich es, dass ich dieses Programm von außerhalb der Entwicklungsumgebung aus starten kann, z. B. vom Desktop aus?

3. Im Internet kann man Erweiterungen für Python downloaden. Laufen Programme, die entsprechende Befehle beinhalten, auch auf einem Computer, auf den diese Erweiterungen nicht downgeloaded wurden?

4. Was muss ich wo hinschreiben, damit ich mithilfe von py2exe aus dem Programm eine exe-Datei mache?
Benutzeravatar
snafu
User
Beiträge: 6744
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Aries hat geschrieben:1. Wie verhindere ich, dass dabei Python Shell aktiviert wird, sondern nur das leere Fenster erscheint?
`python dein_programm.py`. Dabei muss evtl das Verzeichnis, in dem das Programm `python` liegt, zu deinem PATH hinzugefügt werden, damit er es findet. Ich vermute nämlich, du arbeitest unter Windows, richtig?
Aries hat geschrieben:2. Wie erreiche ich es, dass ich dieses Programm von außerhalb der Entwicklungsumgebung aus starten kann, z. B. vom Desktop aus?
Man erstellt eine Verknüpfung. Auch hier wieder `python` voranstellen.
Aries hat geschrieben:3. Im Internet kann man Erweiterungen für Python downloaden. Laufen Programme, die entsprechende Befehle beinhalten, auch auf einem Computer, auf den diese Erweiterungen nicht downgeloaded wurden?
Nein, denn sonst könnte man sich die Installation der Erweiterung sparen, wenn Python das magisch schon von sich aus könnte. ;)
Aries hat geschrieben:4. Was muss ich wo hinschreiben, damit ich mithilfe von py2exe aus dem Programm eine exe-Datei mache?
http://www.py2exe.org/index.cgi/Tutorial
BlackJack

@Aries: Du öffnest nicht die Python-Shell, sondern höchstwahrscheinlich IDLE. Die Python-Shell bekommt man wenn man in einer Eingabeaufforderung/Konsole/Terminal das Python-Binärprogramm startet.

1. Starte Dein Programm und nicht die Entwicklungsumgebung. Unter Windows solltest Du dazu dem Quelltext die Dateiendung ``*.pyw`` geben wenn es ein GUI-Programm ist. Zum Entwickeln empfiehlt es sich erst eine Eingabeausfforderung/Konsole zu öffnen und das Python-Programm von dort aus zu starten. Dann sieht man auch Ausgaben die per ``print`` oder `logging`-Modul auf die Standardausgabe getätigt werden und auch Tracebacks von irgendwelchen Fehlern die passieren. Die Python-Dokumentation enthält einen Abschnitt Using Python on Windows.

2. Python-Modul oder Verknüpfung dazu auf dem Desktop ablegen. Falls die Dateiendungen von Python-Modulen nicht mit ``python.exe`` oder ``pythonw.exe`` verknüpft sein sollten, siehe den Link aus der Dokumentation unter 1.

3. Erklär mal wie das funktionieren sollte Code auszuführen ohne den Code zu haben der ausgeführt werden soll. Natürlich muss man Module ausserhalb der Standardbibliothek die man verwendet auch installieren bevor man sie verwendet.

4. Das Tutorial von der py2exe-Webseite vermittelt diese Informationen nicht?
Aries
User
Beiträge: 51
Registriert: Mittwoch 21. August 2013, 01:19

snafu hat geschrieben: `python dein_programm.py`. Dabei muss evtl das Verzeichnis, in dem das Programm `python` liegt, zu deinem PATH hinzugefügt werden, damit er es findet. Ich vermute nämlich, du arbeitest unter Windows, richtig?
Ja, ich arbeite unter Windows.
snafu hat geschrieben: Man erstellt eine Verknüpfung. Auch hier wieder `python` voranstellen.
Das mit dem "python" voranstellen ändert bei mir nichts. Aber die Endung pyw statt py erzielt die gewünschte Wirkung.
BlackJack hat geschrieben:@Aries: Du öffnest nicht die Python-Shell, sondern höchstwahrscheinlich IDLE.
Ja.
BlackJack hat geschrieben:1. Starte Dein Programm und nicht die Entwicklungsumgebung. Unter Windows solltest Du dazu dem Quelltext die Dateiendung ``*.pyw`` geben wenn es ein GUI-Programm ist.
Danke.
BlackJack hat geschrieben:3. Erklär mal wie das funktionieren sollte Code auszuführen ohne den Code zu haben der ausgeführt werden soll. Natürlich muss man Module ausserhalb der Standardbibliothek die man verwendet auch installieren bevor man sie verwendet.
Anscheinend sind die py und pyw Dateien schlichte Textdateien. Daher kann es natürlich nicht funktionieren. Ich dachte, da wäre etwas mehr dabei. Z. B. könnte es ja auch den Code der importierten Funktionen beinhalten.
BlackJack hat geschrieben:4. Das Tutorial von der py2exe-Webseite vermittelt diese Informationen nicht?
Nein. Wo soll man z. B. folgendes hinschreiben?

Code: Alles auswählen

C:\Tutorial>python hello.py
BlackJack

@Aries: Zu 4.: Das gehört in die Eingabeaufforderung/Konsole von Windows. Wobei der erste Teil auch nichts ist was Du eingeben musst, das ist der aktuelle Arbeitspfad den die Shell als Prompt ausgibt. Eventuell ist The Command Line Crash Course etwas für Dich.
Antworten