docker文档中的Python缩进错误

时间:2018-06-06 18:53:31

标签: python docker

尝试Docker get-started example我继续在此问题的底部包含缩进错误消息,但我无法诊断问题。我已经将链接中的复制/粘贴版本编辑为"看起来像"浏览器视图并已用4个空格替换所有选项卡。但我不太清楚代码本身是否足以知道浏览器缩进视图是否与其有关。

我的app.py代码版本如下。

from flask import Flask
from redis import Redis, RedisError
import os
import socket

# Connect to Redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)

app = Flask(__name__)

@app.route("/")
def hello():
    try:
        visits = redis.incr("counter")
    except RedisError:
        visits = "<i>cannot connect to Redis, counter disabled</i>"

    html = "<h3>Hello {name}!</h3>" \
           "<b>Hostname:</b> {hostname}<br/>" \
           "<b>Visits:</b> {visits}"
    return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)

错误包含在下面的控制台会话中。

server:docker0 brian$ docker run -p 4000:80 friendlyhello
  File "app.py", line 15
    except RedisError:
    ^
IndentationError: unexpected indent
server:docker0 brian$ 

如何解决错误?

1 个答案:

答案 0 :(得分:1)

在继续调试的同时,我从RedisError行删除了单词except作为测试。但错误消息仍包含RedisError。这是我的线索,我认为正在执行的app.py没有被执行。我必须在docker build ./ -t friendlyhello之前再次执行docker run