Mails versenden in Version 2.4

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.
BlackJack

@Py-Prog: Auch unter Windows kann man mehrere Versionen parallel verwenden und ein Installer muss auch nicht zwangsläufig die Verknüpfungen einer vorherigen Installation verändern.
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Bei Windows schreiben Programme in die Registry unter anderen hinein welcher Dateityp mit was geöffnet werden soll, das wird dann überschrieben, und wenn nicht kann man nicht alles bequem per doppelklick öffnen.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Py-Prog hat geschrieben:Bei Windows schreiben Programme in die Registry unter anderen hinein welcher Dateityp mit was geöffnet werden soll, das wird dann überschrieben, und wenn nicht kann man nicht alles bequem per doppelklick öffnen.
Ich finde zum Entwickeln ist "Doppelklick" die bei weitem unkomfortableste Variante.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Da hat man dann auch die F5-Taste aber beim verwenden wird das dann erst nervig.
Aber eigentlich kann ich mir das ja ehe sparen weil mich versteht eh niemand. (Oder ist das Absicht?)
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Py-Prog hat geschrieben:Aber eigentlich kann ich mir das ja ehe sparen weil mich versteht eh niemand. (Oder ist das Absicht?)
BlackJack hat doch geschrieben, dass man im Installer angeben kann die vorherige Verknüpfung nicht zu überschreiben. Der einzige der nicht versteht oder verstehen will bist höchstens du.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

@Py-Prog: Ich weiss bei Deinen Beiträgen manchmal einfach nicht was Du damit sagen willst, oder muss raten und hoffen das es richtig war. Zum Beispiel die F5-Taste. Hat wahrscheinlich in dem Editor oder der IDE, die Du zum Programmieren verwendest, die Funktion das Programm zu starten!? Falls ja, was ist daran nervig?

Da diese Umgebung nicht der entspricht, in der das Programm später läuft, sollte man beim Entwickeln das Programm besser in einer Konsole starten. Im Gegensatz zum Doppelklick sieht man dann auch Ausnahmen die eventuell das Programm abbrechen.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Wo wir hier gerade über unseren Kristallkugel sitzen, würde ich sagen er meint IDLE, dort ist die F5-Taste zum starten des Programms. Und ich denke er meinte später beim normalen ausführen ist es lästig immer erst die .py-Datei in IDLE zu öffnen und auszuführen. :roll:

Was ich mich an der Stelle Frage, ist das es in Windows doch keine "header" Angaben (Ich meine die erste Zeile in einer Textdatei) gibt, welche dem OS sagt mit welchem Programm er den Text interpretieren soll. Da macht doch Windows keinen Unterschied zwischen Python 2 oder 3, vieleicht meint er das.
Sonst lässt sich das doch schön in der ersten Zeile angeben oder gibt es das auch unter Windows?
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Xynon1 hat geschrieben:Wo wir hier gerade über unseren Kristallkugel sitzen, würde ich sagen er meint IDLE, dort ist die F5-Taste zum starten des Programms. Und ich denke er meinte später beim normalen ausführen ist es lästig immer erst die .py-Datei in IDLE zu öffnen und auszuführen. :roll:

Was ich mich an der Stelle Frage, ist das es in Windows doch keine "header" Angaben (Ich meine die erste Zeile in einer Textdatei) gibt, welche dem OS sagt mit welchem Programm er den Text interpretieren soll. Da macht doch Windows keinen Unterschied zwischen Python 2 oder 3, vieleicht meint er das.
Sonst lässt sich das doch schön in der ersten Zeile angeben oder gibt es das auch unter Windows?
Wenigstens mal einer der's geschnallt hat! Das mit der Ersten Zeile wäre gut. Ich glaub aber nicht dass das unter Windows geht, leider leider leider, aber man könnte ein Programm schreiben was die Erste Zeile einliest und dann das Skript ausführt. Dann wäre das (ich darf/brauch es ja nicht mehr erwähnen) völlig überflüssig. (Wenn ich mich nicht verschätzt hab müsstet ihr euch gleich wieder über den 3 Satz beschweren.)
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
deets

Py-Prog hat geschrieben: Wenigstens mal einer der's geschnallt hat!
- Ein Mac-Book-Pro kaufen: 2300 Euro
- Bei ALICE Internet bestellen: 40 Euro
- den Dunning-Kruger-Effekt live & in Farbe beobachten: unbezahlbar!
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

@deets
Ja, immer wieder herrlich :D

@Py-Prog
Mir fällt gerade ein, so schwer ist das gar nicht. Einfach eine ".bat" Datei daneben legen in der dann drin steht "start C:\Python26\python.exe script.py" und dann geht doppelklick und die Version von Python welche genutzt werden soll, legst du halt dort fest.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Xynon1 hat geschrieben:Was ich mich an der Stelle Frage, ist das es in Windows doch keine "header" Angaben (Ich meine die erste Zeile in einer Textdatei) gibt, welche dem OS sagt mit welchem Programm er den Text interpretieren soll.
Nur, dass du nicht immer "erste Zeile" sagen musst: http://de.wikipedia.org/wiki/Shebang ;)
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Danke, ich habe es gestern einfach nicht gefunden, nach #! lässt sich so schlecht googlen.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
BlackJack

@Xynon1: Also bei meiner Stammsuchmaschine gibt's darauf 'ne gute Antwort. Probier mal aus: http://duckduckgo.com/?q=%22%23%21%22
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Yupp, zweites Ergebnis :arrow: nette Suchmachine
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Py-Prog hat geschrieben:Ich glaub aber nicht dass das unter Windows geht, leider leider leider, aber man könnte ein Programm schreiben was die Erste Zeile einliest und dann das Skript ausführt.
Wenn ich mich richtig erinnere kann man inzwischen unter Windows auch rechtsklicken und das Programm wählen mit dem man die Datei öffnen will. Und da kann man doch einfach die gewünschte Python-Version auswählen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Ja, beim "Öffnen mit" Eintrag. Klappt aber halt nicht mit Doppelklick und so müsste man erst wieder Wissen ob es ein Python 2 oder 3 Script ist (und dafür müsste man ihn wieder öffnen). MAn könnte auch einfach die Dateiendung in .py3 ändern, aber erkennt Python solch eine Datei noch als Modul an? Apropos woran erkennt Python das eine Datei ein Python Script ist?

Und mit IDLE klappt das auch nicht, jedenfalls nicht mit der Standardkonfiguration des Setups, da "Edit with IDLE" direkt in das Kontextmenü von Windows geschrieben wird und im Prinzip erstmal Python ausführt(IDLE ist ja ein Tkinter-Programm). Wenn man IDLE hier mit "Öffnen mit" wechseln möchte muss man wieder über eine ".bat" Datei gehen oder in der Registry rum hantieren. So das man halt einen zweiten Eintrag ins Kontextmenü erhält, hatte ich bei mir mal gemacht, nutzen tue ich das aber sowieso nicht mehr. Das ich Windows anmache ist schon selten, aber mit IDLE dann auch noch Scripten :roll:
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
BlackJack

@Xynon1: Bei Skripten ist es Python egal was eine Datei für eine Endung hat, bei Modulen nicht. Wenn man also die Endung '.py3' unter Windows mit einer `python3.exe` verknüpft, dann sollte das auch entsprechend ausgeführt werden, weil in den Fällen, genau wie bei der She-Bang-Zeile unter Linux, die Datei direkt dem angegebenen Python-Interpreter übergeben wird. Nur bei ``import foo`` muss die Dateiendung eine sein, die der Laufzeitumgebung bekannt ist.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Das meinte ich ja, also würde das für Module die irgendwo importiert werden dies nicht funktionieren.

Ich habe hier mal den Registry Eintrag den ich für IDLE gemacht habe rausgekramt und auf Python 3.1 angepasst:

Code: Alles auswählen

[HKEY_USERS\S-1-5-21-1275210071-115176313-725345543-1003\Software\Classes\Python.File\shell\Edit with IDLE 3.1]

[HKEY_USERS\S-1-5-21-1275210071-115176313-725345543-1003\Software\Classes\Python.File\shell\Edit with IDLE 3.1\command]
@="\"C:\\Python31\\pythonw.exe\" \"C:\\Python31\\Lib\\idlelib\\idle.pyw\" -n -e \"%1\""
Einfach in einer .reg-Datei speichern und ausführen. Der S-Schlüssel nach HKEY_USERS muss aber noch angepasst werden. Da es wie der Name des Hauptschlüssels schon sagt Nutzer spezifisch ist.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
BlackJack

@Xynon1: In welchen Fällen funktioniert das nicht für Module? Wenn ich ein Python-Skript mit der Zeile ``import functools`` mit einem Python-Interpreter starte, dann wird doch das zu dem Interpreter passende `functools`-Modul importiert. Zumindest ist das unter Linux so. Unter Windows nicht!?
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Nein, nein, jetzt reden wir mal wieder aneinander vorbei(muss wohl an mir liegen :( ). Das ist in Win natürlich auch so. Es sollte nicht mehr heißen als das man dann .py3 Dateien nicht mehr als Modul nutzen kann. Das dies in den seltensten Fällen bis nie auftritt, ist mir klar, denn wie oft möchte man ein Modul mit Doppelklick öffnen.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Antworten