Seite 1 von 1

Python neu installiert - Anfängerprobleme

Verfasst: Mittwoch 25. Oktober 2006, 14:04
von thomas-gn
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

Verfasst: Mittwoch 25. Oktober 2006, 14:27
von Rebecca
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! :)

Verfasst: Mittwoch 25. Oktober 2006, 15:13
von CM
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

Re: Python neu installiert - Anfängerprobleme

Verfasst: Donnerstag 26. Oktober 2006, 21:28
von Joghurt
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,

Python-Editor

Verfasst: Montag 30. Oktober 2006, 13:04
von thomas-gn
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

Re: Python-Editor

Verfasst: Montag 30. Oktober 2006, 13:30
von Leonidas
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.