Seite 1 von 1

Python Probleme unter Linux

Verfasst: Samstag 6. Dezember 2008, 12:16
von NEAVORC
Hi an alle,

ich habe erst kürzlich mit python angefangen und arbeite im Moment immer noch das Galileo Computing Buch durch ^^
Welches ich eigentlich auch ganz gut finde auch wenn andere das nicht so sehen ;).

Also zu meinem Problem:
Ich bin mal wieder auf Linux Ubuntu 8.10 umgestiegen und habe nun Probleme dort über den Terminal mit python zu arbeiten.

Wenn ich eine Funktions Definition vornhemen möchte wird mir immer ein Fehler angezeigt:

Code: Alles auswählen

>>> def div():
... ergebnis = 1
  File "<stdin>", line 2
    ergebnis = 1
           ^
IndentationError: expected an indented block
>>> 

Mir ist es also nicht möglich innerhalb einer Defintion mehrere Zeilen zu schreiben.
Ich habe mich im Internet und auch in diesem Board schon nach einer Lösung umgesehen jedoch konnte ich mit den meisten Sachen nichts anfangen.

Ich wär sehr froh über eine Lösung ;D
MfG Neavorc

Verfasst: Samstag 6. Dezember 2008, 12:20
von cofi
Hände weg von dem Galileo openbook ... das ist unterirdisch. Schau dir lieber mal das offizielle Tutorial an.

Dein Problem hat weder mit Linux, noch mit dem Terminal zu tun, sondern damit, dass du das Grundkonzept von Python noch nicht kapiert hast und die Fehlermeldung nicht liest ;)

Rück mal die 2. Zeile ein.

Verfasst: Samstag 6. Dezember 2008, 12:25
von NEAVORC
Ok das funzt jetz ;D


Aber war so auf die Windows Python Shell fixiert bei der ich nie was einrücken musste :D
Das Grundprinzip hab ich schon kapiert , also so wie es mit Galileo Computing übermittelt hat.
Ich werde mich dann mit einem anderen Buch beschäftigen.

Danke dir für die schnelle und gute Antwort.
^^

Verfasst: Samstag 6. Dezember 2008, 12:34
von cofi
Das hat nichts mit irgendeiner Shell zu tun. Mit `python' rufst du den Python-Interpreter auf und der verlangt sowohl unter Windows als auch unter einem anständigen OS gültige Python-Syntax ;)

http://docs.python.org/tutorial/
http://www.byteofpython.info/
http://diveintopython.org/

Verfasst: Samstag 6. Dezember 2008, 13:16
von NEAVORC
Aber unter Windows mit python2.5 musste ich nie per Hand einrücken das meine ich damit :)
Deshalb kam ich auch nicht auf die Lösung ^^

Aber bin eh blutiger Anfänger und man lernt nie aus :D

Verfasst: Samstag 6. Dezember 2008, 13:20
von numerix
cofi hat geschrieben:Hände weg von dem Galileo openbook ... das ist unterirdisch. Schau dir lieber mal das offizielle Tutorial an.
Dass das jetzt nicht geklappt hat, kann man dem Openbook aber nun wirklich nicht anlasten ... :)

Verfasst: Samstag 6. Dezember 2008, 13:28
von cofi
Das stimmt schon numerix ... aber man muss ja schon schlimmeres verhindern ;)

Dass man unter Windows nicht per Hand einrücken muss, halte ich für ein Gerücht. Es sei denn du hast IDLE benutzt ;)

Verfasst: Samstag 6. Dezember 2008, 13:38
von NEAVORC
Ja genau !
IDLE (Python GUI)

da ich selber noch nich selbstständig Programme schreibe hab ich alles immer nur in der IDLE Konsole getestet und nicht in einer *.py Datei gespeichert.

:D

Verfasst: Samstag 6. Dezember 2008, 13:47
von cofi
Nunja, IDLE ist ein Editor ;) Bzw eher ein Hybride. IDLE ist aber auch unter Linux verfügbar, wenn du ihn weiter einsetzen willst.

Verfasst: Samstag 6. Dezember 2008, 13:58
von NEAVORC
Ne ich werd jetz ohne IDLE arbeiten da ich mich dann besser an einrücken und so gewöhnen kann.

Verfasst: Samstag 6. Dezember 2008, 14:00
von numerix
NEAVORC hat geschrieben:da ich selber noch nich selbstständig Programme schreibe hab ich alles immer nur in der IDLE Konsole getestet und nicht in einer *.py Datei gespeichert.
Wenn du viel interaktiv arbeitest, dann ist IPython vielleicht was für dich. Dort gibt es - neben vielem anderem - auch die automatische Einrückung im interaktiven Modus.

Edit:
NEAVORC hat geschrieben:Ne ich werd jetz ohne IDLE arbeiten da ich mich dann besser an einrücken und so gewöhnen kann.
Ganz unabhängig von IDLE ist das m.E. kein besonders sinnvoller Ansatz, denn jeder anständige Editor macht dir die Einrückung automatisch. Es ist doch eher so, dass man sich klar machen muss, was wie weit eingrückt sein muss - aber deswegen muss man doch nicht jedes Leerzeichen selbst eintippen.

Verfasst: Samstag 6. Dezember 2008, 14:40
von lunar
cofi hat geschrieben:Hände weg von dem Galileo openbook ... das ist unterirdisch.
Das ist übertrieben. Die meisten Kapitel dieses Buchs sind durchaus brauchbar. Kritik ist bis jetzt auch nur an einigen wenigen Kapiteln (insbesondere dem OOP-Kapitel) geübt worden.

Der OP hat aber ganz offensichtlich noch einen weiten Weg vor sich, bis er dieses Kapitel lesen kann, insofern kann er das durchaus nutzen.

Verfasst: Sonntag 7. Dezember 2008, 05:13
von Leonidas
lunar hat geschrieben:Die meisten Kapitel dieses Buchs sind durchaus brauchbar. Kritik ist bis jetzt auch nur an einigen wenigen Kapiteln (insbesondere dem OOP-Kapitel) geübt worden.
Das Probelm sehe ich darin, dass es keine Besserung zu geben scheint. Die Autoren haben sich weder zur Kritik geäußert noch etwas besseres vorgeschlagen.

Verfasst: Sonntag 7. Dezember 2008, 09:17
von roschi
hallo!
lunar hat geschrieben:Die meisten Kapitel dieses Buchs sind durchaus brauchbar. Kritik ist bis jetzt auch nur an einigen wenigen Kapiteln (insbesondere dem OOP-Kapitel) geübt worden.

Der OP hat aber ganz offensichtlich noch einen weiten Weg vor sich, bis er dieses Kapitel lesen kann, insofern kann er das durchaus nutzen.
stimmt! ich habe auch schon einige interessante informationen in diesem buch gefunden. den anfang habe ich mit 'byte of python' gemacht. ueber die netzwerksachen und regular expression habe ich aber viel im galileo computing open book gefunden.

außerdem finde ich, wie cofi ja auch schon vorgeschlagen hat, 'dive into python' ziemlich gut gemacht.

ich wuerde auf jeden fall grundsaetzlich nicht vom galileo buch abraten - wuerde jedoch auch 'byte of python' und 'dive into python' lesen.

lg
roschi

Verfasst: Sonntag 7. Dezember 2008, 12:26
von cofi
Das mag schon sein, dass das openbook nicht so schlimm ist, wie ich es dargestellt habe, aber als Python-Neuling kann man nicht unterscheiden was gut ist und was zum Himmel stinkt, deshalb würde ich - bei Neulingen - generell davon abraten, zumal es eben so brauchbare Alternativen gibt.