Eclipse schmeißt einen Fehler aber Idle nicht?

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
Benutzeravatar
Jean-P.
User
Beiträge: 48
Registriert: Freitag 27. Januar 2012, 14:41
Wohnort: Berlin

Hallo,

ist das normal das Eclipse manchmal Fehler schmeißt selbst wenn IDLE die nicht schmeißt?
Das wäre jetzt der oberknaller wenn ich mich erst in Eclipse einarbeite um von IDLE loszukommen und mir dann das Programm Fehler anzeigt die garnicht da sein dürften :evil:
Beispiel:

Code: Alles auswählen

"""
#Import
import random
random.seed()
"""
#While schleife für Aufgaben
anzahl = -1
while anzahl < 0 or anzahl > 10:
    try:
        print("Wie viele Spiele wollen sie Spielen?")
        anzahl = int(input())
    except:
        continue
Fehlermeldung in Eclipse:
File "C:\Users\Computer\workspace\new3\test5.py", line 5
SyntaxError: Non-UTF-8 code starting with '\xfc' in file C:\Users\Computer\workspace\new3\test5.py on line 5, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
Scheint wohl ein Codierungs Problem zu sein aber habe doch garkeine Ä,Ö oder Ü´s benutzt(kotz).

Das nervt gerade übelst zumal ich heute hier im Forum noch was ähnliches gelesen habe,
da macht QT Probleme...
Link:
http://www.python-forum.de/viewtopic.php?f=1&t=28561

Habe 0 Bock mich noch mit den IDE´s rumzuschlagen ist eh schon schlimm genug das ich mir jetzt ein ganzes Buch reindrücken muss dann soll mich doch bitte die IDE in Ruhe lassen :K
kotz...
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Python3 nimmt utf-8 als Standardencoding des Quellcodes an. Evtl. hast Du in Eclipse ein anderes Encoding eingestellt? Ist das wirklich der komplette Quellcode?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
Jean-P.
User
Beiträge: 48
Registriert: Freitag 27. Januar 2012, 14:41
Wohnort: Berlin

Ja, also zumindest mal noch :?
Habe in Elipse auch nichts verstellt, wo könnte man denn dort den Uni Code umstellen,
nur komisch habe in Eclipse schon viel großere Programme geschrieben und das klappte auch :K
kotz...
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Hinweis am Rande: Du wirst mit Eclipse nicht wirklich produktiver sein als mit einem gescheitem Text-Editor und Powershell (arbeitest ja auf Windows wie ich sehe) daneben.
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Jean-P. hat geschrieben:Scheint wohl ein Codierungs Problem zu sein aber habe doch garkeine Ä,Ö oder Ü´s benutzt(kotz).
Nicht gleich Erbrechen. Diese Zeile am Anfang eines Skriptes bewirkt manchmal Wunder:

Code: Alles auswählen

# -*- coding: UTF-8 -*-
Gruß wuf :wink:
Take it easy Mates!
Benutzeravatar
Jean-P.
User
Beiträge: 48
Registriert: Freitag 27. Januar 2012, 14:41
Wohnort: Berlin

Wuf das habe ich schon gesehen aber wollte eigentlich nicht jedes mal die Zeile einfügen,
funktioniert aber damit.

Hmmm wollte schon mal Aptana ausprobiert haben aber nach dem Download wurde nur Ruby unterstüzt,
und das Aptana Plug in für Eclipse bekomm ich nicht installiert, weiß gerad nicht mehr was das Problem war glaube meine Eclipse Version ist zu neu oder sowas war das :?

Ja und das mit dem Text Editor ist zwar eine Lösung aber keine für mich,
bin so an Dreamweaver CS5 gewöhnt wo ich HTML, CSS, Javascript und PHP so genial entwickeln konnte,
beim Speichern geht alles direkt an meinen Server und ein F12 zeigt mir alles im Browser an,
bin viel zu verwöhnt um auf eine IDE zu verzichten 8)
kotz...
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

wuf hat geschrieben:
Jean-P. hat geschrieben:Scheint wohl ein Codierungs Problem zu sein aber habe doch garkeine Ä,Ö oder Ü´s benutzt(kotz).
Nicht gleich Erbrechen. Diese Zeile am Anfang eines Skriptes bewirkt manchmal Wunder:

Code: Alles auswählen

# -*- coding: UTF-8 -*-
Gruß wuf :wink:
Das sollte bei Python3 doch obsolet sein? Wenn es also beim OP wirkt, dann entwickelt er anscheinend doch unter Python2.x - nur wieso steht dann da ``print()`` als Funktion und ``input`` statt ``raw_input``? Fragen über Fragen...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
Jean-P.
User
Beiträge: 48
Registriert: Freitag 27. Januar 2012, 14:41
Wohnort: Berlin

Ach du heilige Scheiße :mrgreen:
Wie kann denn blos sowas passieren, ich hatte in Eclipse neben den Python 3.x Interpreter auch vor kurzen den Python 2.x Interpreter angegeben,
so und als ich mir dann klar war ich bleib bei Python 3.x habe ich ein neues Projekt ausgewählt
und dort Python 3 angegeben und war im glauben das er auch jetzt in Python 3 entwickelt,
habe es mit print() getestet und es kaum ja auch kein Fehler,
jetzt bin ich gerade in die Einstellungen und habe den Python 3.x Interpreter richtig ausgewählt,
und siehe da es läuft wieder alles :K

Ob der 2.x Interpreter jetzt auch 3.x kann :mrgreen: wage ich zu bezweifeln aber Eclipse kam damit wohl nicht klar.

Problem gelöst Eclipse rocks 8)
kotz...
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Jean-P. hat geschrieben: Ob der 2.x Interpreter jetzt auch 3.x kann :mrgreen: wage ich zu bezweifeln aber Eclipse kam damit wohl nicht klar.
Das nicht, aber Dein Code hatte nichts, was nicht auch unter Python 2 lauffähig wäre.

Code: Alles auswählen

print("foo")
# ist keine Funktion, sondern gibt das Tupel ``("foo")`` aus
# äquivalent zu:
print ("foo",)
Und ``input`` existiert auch in Python 2.x - allerdings ist die Funktionsweise davon eine andere als in Python3; das dortige ``input`` ist mit dem ``raw_input`` von Python2 vergleichbar.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
Jean-P.
User
Beiträge: 48
Registriert: Freitag 27. Januar 2012, 14:41
Wohnort: Berlin

Aso :shock: da wäre ich niemals von alleine drauf gekommen,
ich hätte Eclipse für die nächsten 10 Jahre zu meinen Feind Nr.1 erklärt.

Aber als du das mit dem Python 2 erwähnt hast,
wurde mir schnell klar wo der Fehler liegen könnte,
nur warum Eclipse bei dem Projekt erstellung Python 3 dann zur Auswahl listet verstehe ich nicht,
oder warum Eclipse bei einer Python 3 Auswahl nicht auch auf den Python 3 Interpreter springt.

Kann man so Fehler irgentwo posten am besten auf Deutscher Seite damit die Eclipse entwickler das mal fixen,
ist ja ein gemein gefährlicher Fehler, gerade für Anfänger die sich eh schon über alles aufregen :wink:
Schon mal 1000 Dank @ All dachte schon müsste mich wieder mit IDLE anfreunden(kotz)
kotz...
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

@Hyperion: Ich denke, `("foo")` ist einfach nur ein String. So wie `(1 + 2)` auch kein Tupel sondern ein `int` ist.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

nomnom hat geschrieben:@Hyperion: Ich denke, `("foo")` ist einfach nur ein String. So wie `(1 + 2)` auch kein Tupel sondern ein `int` ist.
Stimmt. Da habe ich Bockmist geredet. Das "Komma" ist ja grad nötig, um ein Einelementiges Tupel zu definieren; danke für die Klarstellung.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
Jean-P.
User
Beiträge: 48
Registriert: Freitag 27. Januar 2012, 14:41
Wohnort: Berlin

Wenn ich das jetzt richtig verstehe ist meine Ausgabe weil sie ja kein Komma hat auch kein Tubel,
und es hätte so nicht vom Python 2.x Interpreter gelesen werden können?

Also war der Python 3 Interpreter doch schon an, aber nur die UTF Einstellung nicht standertmäßig auf Python 3 gesetzt,
das passierte erst als ich den Python 3 interpreter direkt aufwählte stimmt das so?
kotz...
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Jean-P. hat geschrieben:Wenn ich das jetzt richtig verstehe ist meine Ausgabe weil sie ja kein Komma hat auch kein Tubel,
und es hätte so nicht vom Python 2.x Interpreter gelesen werden können?

Code: Alles auswählen

Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print("A")
A
>>> print("A",)
('A',)

Code: Alles auswählen

Python 3.2.2 (v3.2.2:137e45f15c0b, Sep  3 2011, 17:28:59) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print("A")
A
>>> print("A",)
A
Benutzeravatar
Jean-P.
User
Beiträge: 48
Registriert: Freitag 27. Januar 2012, 14:41
Wohnort: Berlin

Aso okay Danke habe es verstanden.
kotz...
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hyperion hat geschrieben:Das sollte bei Python3 doch obsolet sein?
Hi Hyperion. Da hast du natürlich völlig recht. Ich habe mich voll auf die von Jean-P. präsentierte Fehlermeldung:
File "C:\Users\Computer\workspace\new3\test5.py", line 5
SyntaxError: Non-UTF-8 code starting with '\xfc' in file C:\Users\Computer\workspace\new3\test5.py on line 5, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
konzentriert.

Gruß wuf :wink:
Take it easy Mates!
Antworten