Seite 1 von 1

Frage zu "IndentationError: expected an indented block"

Verfasst: Montag 17. Mai 2021, 15:02
von Pit55
Der Fehler kommt in einem ganz kurzen Programm. Mir ist klar, dass es um den Einschub geht.

Hier der Code:

Code: Alles auswählen

print("This is my first Docker image.")
print("It prints the first 50 Fibonacci numbers.")
a=0;b=1
for i in range(1,51):
    print("Fibonacci %i: %i" % (i,b))
    a,b=b,a+b
Wenn ich das Programm in einem Compiler direkt im Browser ausführe, läuft es wunderbar. Eigentlich ist ja kein Fehler drin. Ich will es aber in Linux über das Terminal ausführen. Es soll als Docker Image laufen.
Das gebe ich als Kommando ein:
...$ docker run fibonacci
Der Fehler ist dann:

Bild


Wenn ich die Python Datei anzeigen lasse mit less fibo.py, wird sie mir richtig angezeigt.

Code: Alles auswählen

rint("This is my first Docker image.")
print("It prints the first 50 Fibonacci numbers.")
a=0;b=1
for i in range(1,51):
    print("Fibonacci %i: %i" % (i,b))
    a,b=b,a+b

(END)
Kann mir da einer helfen? Das ist echt komisch oder?

Re: Frage zu "IndentationError: expected an indented block"

Verfasst: Montag 17. Mai 2021, 15:06
von Sirius3
Ich habe leider keinen Zugriff auf Dein Home-Verzeichnis: /home/sven/Pictures/Screenshot%20from%202021-05-17%2015-56-45.png
Statt eines Bildes poste auch den Konsoleninhalt als Text.

Re: Frage zu "IndentationError: expected an indented block"

Verfasst: Dienstag 18. Mai 2021, 07:24
von Pit55
Danke für die schnelle Antwort. Die Konsolenausgabe lautet:
.
.......................$ docker run fibonacci
File "fibo.py", line 5
print("Fibonacci %i: %i" % (i,b))
^
IndentationError: expected an indented block


Wenn ich diese Python Datei ausführe per : python fibo.py -> dann läuft es wunderbar.
Irgendetwas könnte vielleicht in Zusammenhang mit dem Dockerfile sein.

Ich habe einen Ordner namens: MyFirstImage und darin habe ich eben diese beiden Dateien (Dockerfile und fibo.py). Mit docker run fibonacci will ich es einfach nur ausführen. Sudo docker run fibonacci bringt das gleiche.

Re: Frage zu "IndentationError: expected an indented block"

Verfasst: Dienstag 18. Mai 2021, 07:59
von Pit55
so sieht bei mir Dockerfile aus:

#A lightweight Python image as parent
FROM python:3.7-alpine
#Set the working directory to /dirInContainer
WORKDIR /dirInContainer
#Copy the python app fibo.py in working directory
COPY fibo.py ./
#Execute the python program fibo.py
CMD ["python","fibo.py"]

Re: Frage zu "IndentationError: expected an indented block"

Verfasst: Dienstag 18. Mai 2021, 09:07
von Pit55
Habe es hinbekommen. Nach den Änderungen im .py file habe ich zwar abgespeichert, man muss aber zusätzlich mit docker build fibonacci das Image neu erstellen. Dann geht es.