Hallo!
Ich hab mir mal pyut runtergeladen und alle Abhängigkeiten installiert. Nun wollt ich es über die pyut.pyw starten, jedoch passierte nichts. Als ich es mit IDLE ausgeführt habe, kam das:
from __future__ import division
SyntaxError: from __future__ imports must occur at the beginning of the file
Eigentlich verständlich, denn in der Datei steht vor dem import noch der Autor und die Version.
Aber wieso ist das so, das es nicht geht? Hab ich was falsches installiert?
Ich hab versucht den Fehler zu beheben, indem ich den Import nach vorne gezogen habe, aber da kam direkt die nächste Datei. Fast in jeder Datei scheint der import zu stehn, auch wo es nicht gebraucht wird.
Gruß, jj[/code]
Falsche future Importe in pyut Dateien
-
- User
- Beiträge: 419
- Registriert: Sonntag 3. September 2006, 15:11
- Wohnort: in den weiten von NRW
- Kontaktdaten:
Seit Python 2.5 darf vor diesem ``import`` kein Code mehr stehen. Bei 2.4 war's eine Warnung, jetzt ist es ein Fehler.
Weil Importe aus `__future__` die Syntax der Sprache verändern können, also zum Beispiel Schlüsselworte wie ``with`` aktivieren können, ist es einfach sauberer wenn dieser import als erstes steht. Sonst können Mehrdeutigkeiten auftreten. Blödes Beispiel:
Das `with` wurde vom Compiler schon gesehen und die Zeile wird zu einer Zuweisung an den Namen `with` übersetzt und danach wird die ``with``-Anweisung aktiviert. Dann hätte die Zeile davor aber einen Syntaxfehler ergeben müssen.
Weil Importe aus `__future__` die Syntax der Sprache verändern können, also zum Beispiel Schlüsselworte wie ``with`` aktivieren können, ist es einfach sauberer wenn dieser import als erstes steht. Sonst können Mehrdeutigkeiten auftreten. Blödes Beispiel:
Code: Alles auswählen
with = 42
from __future__ import with_statement
-
- User
- Beiträge: 419
- Registriert: Sonntag 3. September 2006, 15:11
- Wohnort: in den weiten von NRW
- Kontaktdaten:
Toll! Naja, dann bringts ja doch noch was, das ich noch ne 24er Installation hab. Wenns damit geht, mal rauskramen...
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Du kannst aber auch einfach die Datei editieren und ggf. dem Autor eine Nachricht schreiben, dass er in z´Zukunft bitte auch seinen Code anpasst.schlangenbeschwörer hat geschrieben:Toll! Naja, dann bringts ja doch noch was, das ich noch ne 24er Installation hab. Wenns damit geht, mal rauskramen...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 419
- Registriert: Sonntag 3. September 2006, 15:11
- Wohnort: in den weiten von NRW
- Kontaktdaten:
Sehr schlau! Da bin ich sogar selbst drauf gekommen, aber nach ca. 10 Dateien oder so hatte ich keinen Bock mehr. Wie gesagt, das wird in fast jeder Datei verwand. Entweder öffnet man also alle Dateien und guckt nach, oder versucht nach jeder Änderung das Programm laufen zu lassen. Ich könnt natürlich auch schnell ein script hacken und drüberlaufen lassen...Leonidas hat geschrieben: Du kannst aber auch einfach die Datei editieren und ggf. dem Autor eine Nachricht schreiben, dass er in z´Zukunft bitte auch seinen Code anpasst.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Du weißt gar nicht, wie sehr es mich reizen würde, mit sed und awk so etwas zusammenzuhacken, hauptsächlich weil ich awk noch nie benutzt habeschlangenbeschwörer hat geschrieben:Ich könnt natürlich auch schnell ein script hacken und drüberlaufen lassen...

My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 419
- Registriert: Sonntag 3. September 2006, 15:11
- Wohnort: in den weiten von NRW
- Kontaktdaten:
Gern überlass ich dir das. Ich hab eh genug zutun (das, was ich mit uml darstellen will). Sag bescheid, wenn dus fertig hast, dann lass ichs bei mir laufen. Ich hab jedoch ein paar bedenken, das das ein Weilchen brauchen könnte, so durch alle Dateien, öffnen, suchen, ggf. ändern, speichern, nächste ...
-
- User
- Beiträge: 419
- Registriert: Sonntag 3. September 2006, 15:11
- Wohnort: in den weiten von NRW
- Kontaktdaten:
Da sind verschiedene Kommentare vor. Und sonst ist's glaub ich auch nicht immer gleich.
Das sind keine Probleme mit 2.5 sondern mit Quelltext der nicht dafür geschrieben wurde.
Ich denke mal seit 2007, von da ist dieser Thread, kommt das nicht mehr all zu häufig vor. Und falls doch, hat man sich ja mittlerweile ein Skript geschrieben, das das behebt. Hatte ich damals sogar gemacht, aber ich find's gerade nicht wieder. Habe ich auch eeeewig nicht mehr gebraucht.

-
- User
- Beiträge: 25
- Registriert: Mittwoch 18. März 2009, 22:56
- Wohnort: Mannheim
- Kontaktdaten:
das war mir schon bewusst, dass es an dem Code von pyUT liegt. Aber bevor ich nun anfange alle Dateien so zu ändern, dass es wieder Ausführbar ist, wollte ich wissen, ob es evtl. schon Jemand für dieses "Programm" gemacht hat.