Python neu installiert - Anfängerprobleme

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
thomas-gn
User
Beiträge: 4
Registriert: Mittwoch 25. Oktober 2006, 13:58

Hallo,
ich bin total neu in Python und habe mir vor ein paar Tagen von der Webseite:
www.python.org die neuste Version python 2.5 runtergeladen und in /usr/python-2.5 installiert per ./configure make make install.
So weit alles klar!
Nun habe ich aus der Zeitschrift linuxuser ein Beispiel-Listing abgetippt und direkt in der Konsole in python eingegeben.
Hier nun, was ich gemacht habe....

thomas@linux:~>
thomas@linux:~> python
Python 2.5 (r25:51908, Oct 24 2006, 17:19:36)
[GCC 4.0.2 20050901 (prerelease) (SUSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
File "/etc/pythonstart", line 7, in <module>
import readline
ImportError: No module named readline
>>> for i in range(5):
... print i, # Einrueckung ist wichtig
File "<stdin>", line 2
print i, # Einrueckung ist wichtig
^
IndentationError: expected an indented block
>>>

Ich habe den import-Error mal gesucht in der Datei:"/etc/pythonstart"

# startup script for python to enable saving of interpreter history and
# enabling name completion

# import needed modules
import atexit
import os
import readline
import rlcompleter

Nun habe ich per Suchfunktion die Datei readline.py gesucht und habe folgende Dateien auf meinem System ab / gefunden:

file:///usr/Python-2.5/Modules/readline.c
file:///usr/share/doc/packages/python/html/lib/readline-example.html
file:///usr/share/doc/packages/bash/readline.html
file:///usr/share/info/readline.info.gz
file:///usr/lib/perl5/5.8.7/Term/ReadLine.pm
file:///usr/lib/python2.4/lib-dynload/readline.so
file:///usr/share/vim/vim63/indent/readline.vim
file:///usr/share/vim/vim63/syntax/readline.vim

Meine Fragen:
Warum ist die Datei readline nicht dabei?
Warum funktioniert die for i in ... Routine in python nicht?
Was ist das für ein Fehler: IndentationError: expected an indented block
Wer kann ein echt gutes Buch oder Datei im Internet in Deutsch empfehlen, wo man Python lernen kann.

Bitte um Verständnis für einen Anfänger und um Hilfe!
Ich habe Suse Linux 10.0 installiert auf Stand-alone-PC ohne Netz!
Im Voraus vielen Dank

Freundlichen Gruß
Thomas
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Das mit dem Readline ist zwar bloed, aber nicht ganz so wichtig. Damit funktioniert die Vervollstaendigung mittels TAB in der interaktiven Umgebung. Folgende Dateien vermisse ich in deinen Angaben:

/usr/lib/libreadline.so
/usr/lib/libreadline.a
/usr/include/readline/readline.h

Zu deinem Code: Die Zeile nach dem for muss mit vier Leerzeichen anfangen, wird also eingerueckt. (Indentation = Einrueckung, indented Block = eingerueckter Block.).

Fuer Einfuehrung und Tutorials schau zum Beispiel hier: http://www.python-forum.de/topic-7197.html.

Viel Spass mit Python und willkommen im Forum! :)
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hallo und willkommen im Forum,

noch zwei Anmerkungen:

Bei den allermeisten Linux-Distributionen ist Python mit dabei. Mir scheint, daß Du auch noch das vorinstallierte Python2.4 hast. Dieses wenigstens sollte einigermaßen vollständig sein (SuSE verzichtet auf einige Module, beispielsweise curses).

Außerdem: Einrückung ist in Python wichtig, aber es ist - gerade auf der Console kürze ich da auch ab - nicht wichtig wieviele Zeichen oder welche Zeichen (Tab oder Leerzeichen) man zum Einrücken nimmt. Es ist allerdings guter Stil und sehr zu empfehlen in allen (gespeicherten) Programmen und Skripten vier Leerzeichen für je eine Einrückungsebene zu verwenden. Die meisten Editoren sind so für Python eingestellt oder lassen sich entsprechend einstellen.

Gruß,
Christian
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

thomas-gn hat geschrieben:Was ist das für ein Fehler: IndentationError: expected an indented block
Steht doch da, du hast auch noch selbst den Kommetar dazu mit abgetippt, aber nicht beachtet: Einrückung ist wichtig!
Falsch:

Code: Alles auswählen

>>> for i in range(5):
... print i,
Richtig:

Code: Alles auswählen

>>> for i in range(5):
...     print i,
(oder auch)

Code: Alles auswählen

>>> for i in range(5):
...  print i,
thomas-gn
User
Beiträge: 4
Registriert: Mittwoch 25. Oktober 2006, 13:58

Vielen Dank für die hilfreichen Antworten.
Das mit der for i...Routine habe ich jetzt verstanden,

wer kennt einen guten, kostenlosen Python-Editor für Suse Linux 10.0

Gruss Thomas
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

thomas-gn hat geschrieben:wer kennt einen guten, kostenlosen Python-Editor für Suse Linux 10.0
Bitte nur eine Frage pro Thread. Denn diese Frage kannst du einfach mit der Forensuche beantworten oder in die [wiki=FAQ#WelcheEditorenWerdenFrPythonEmpfohlen]FAQ[/wiki] schauen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten