docker文档中的Python缩进错误

docker文档中的Python缩进错误,python,docker,Python,Docker,尝试继续获取此问题底部包含的缩进错误消息,但无法诊断问题。我已将复制/粘贴版本从链接编辑为“类似”浏览器视图,并将所有选项卡替换为4个空格。但我对代码本身的理解还不够透彻,无法知道浏览器缩进视图是否是有意的 我的app.py代码版本如下 from flask import Flask from redis import Redis, RedisError import os import socket # Connect to Redis redis = Redis(host="redis",

尝试继续获取此问题底部包含的缩进错误消息,但无法诊断问题。我已将复制/粘贴版本从链接编辑为“类似”浏览器视图,并将所有选项卡替换为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)

如何修复错误?

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

,作为测试,我从
中删除了单词
RedisError
。但是错误消息仍然包含
RedisError
。这就是我认为正在执行的app.py没有被执行的线索。我必须再次执行
docker build./-t friendlyhello
,然后才能
docker运行

缩进错误
通常意味着存在间距问题。建议您删除所有空格并重试。我尝试了您的建议,但得到相同的错误。更具体地说,我使用vim输入了
:%s/^I/g
,然后在两个不同的地方留下了3个空格,所以我也删除了它们。代码中的斜杠之间有4个空格。
IndentationError
通常表示存在空格问题。建议您删除所有空格并重试。我尝试了您的建议,但得到相同的错误。更具体地说,我使用vim输入了
:%s/^I/g
,然后在两个不同的地方留下了3个空格,所以我也删除了它们。代码中的斜杠之间有4个空格。
server:docker0 brian$ docker run -p 4000:80 friendlyhello
  File "app.py", line 15
    except RedisError:
    ^
IndentationError: unexpected indent
server:docker0 brian$