【问题标题】:Python Bottle Tutorial: cannot get anything from the HelloWorld examplePython Bottle 教程:无法从 HelloWorld 示例中获得任何信息
【发布时间】:2014-08-01 11:45:00
【问题描述】:

我刚刚安装了 Bottle 并将其添加到这个目录中:/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3

当我尝试在 http://bottlepy.org/docs/dev/tutorial.html#installation 中运行 HelloWorld 示例时 并打开localhost:8080/hello ,页面上什么都没有。

>>> from bottle import route, run
>>>
>>> @route('/hello')
... def hello():
...     return "Hello World!"
...
>>> run(host='localhost', port=8080, debug=True)
Bottle v0.13-dev server starting up (using WSGIRefServer())...
Listening on http://localhost:8080/
Hit Ctrl-C to quit.

我不知道为什么,请帮忙!

【问题讨论】:

  • 我无法在 0.12.7 版中重现这一点。尝试回滚到那个版本,看看是否还有问题。
  • 该示例似乎运行良好,因为run 设法绑定到端口。打开页面后它会打印任何其他调试消息吗?尝试将localhost 更改为127.0.0.1,以防名称解析以某种方式搞砸了。
  • 是的...谢谢大家,改成 127.0.0.1 有帮助

标签: python bottle


【解决方案1】:

我遇到了同样的问题。将 'localhost' 替换为 '127.0.0.1' 并获得 404 Not Found 页面。 但是,快速入门教程中的第二个示例有效:

from bottle import Bottle, run

app = Bottle()

@app.route('/hello')
def hello():
    return "Hello World!"

run(app, host='localhost', port=8080)

【讨论】:

  • 谢谢!尽管第二个示例在 host="localhost" 时仍然无法工作
  • 如果您在原始脚本中运行一次 route,即在导入之后和其他所有内容之前运行 route(),它现在可以工作(使用 Eclipse)。然后由于某种原因,您可以将其删除,脚本仍然有效。
【解决方案2】:

如果它不与 localhost 一起工作,但它与 127.0.0.1 一起工作,这意味着您的网络配置没有真正正确设置。

如果您使用的是 linux 或 mac,请检查 /etc/hosts 文件并查找:

127.0.0.1 本地主机

Windows 在 %SystemRoot%\system32\drivers\etc\hosts 有相同的文件。

如果该行不存在,请添加它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 2015-12-14
    • 1970-01-01
    相关资源
    最近更新 更多