我是一个新来的flask。我不能访问localhost:5000或127.0.0.1:5000。我使用flask。我已经尝试了许多解决方案,但没有一个为我工作。这里的代码
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return ('Hello World')
if __name__ == '__main__':
app.run()
我得到这个
* Serving Flask app "__main__" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
当我转到localhost:5000或127.0.0.1:5000时,我得到
127.0.0.1拒绝连接或localhost拒绝连接
3条答案
按热度按时间m0rkklqb1#
尝试像这样运行您的应用程序:
这也使得服务器在外部可见。如果机器的IP地址是
192.168.X.X
,那么,从同一个网络,您可以在5000端口访问它。这也可能是防火墙的问题,在这种情况下,请执行以下操作:
编辑:
由于您是在Google Colab上运行,而不是在本地系统上运行,因此运行步骤会有所不同。
请注意
Google Colab提供了一个VM(虚拟机),所以我们不能像在本地机器上运行本地Web服务器时那样访问本地主机(它所做的只是将其路由到本地机器的本地主机)。我们可以做的是使用ngrok将其暴露给公共URL。下面是Python库flask-ngrok。
按照步骤here运行
flask-ngrok
w46czmvw2#
像这样使用Google colab的
output
库:你会得到一个链接
https://localhost:5000/
,指向某个地址,比如https://j92e7rh245-496ff2e9c6d22116-5000-colab.googleusercontent.com/
,可以从笔记本外部访问。你可以在一个单独的浏览器标签中查看这个链接。请参阅:浏览到在内核上执行的服务器(不确定为什么
serve_kernel_port_as_iframe
不工作)。在后台运行Flask应用
为了防止一个运行的cell阻塞整个notebook,需要将服务器作为子进程运行。
我是这么做的
1.保存脚本到文件
2.后台运行脚本
从笔记本内部查看
localhost
请注意,您可以从Notebook中查看在
localhost
上运行的服务器,以查看是否仅在单元格中运行命令qq24tv8q3#
这种方法的问题是flask服务器可能很大。本质上,你必须将所有notebook代码复制到一个单元格中,然后以脚本形式写出。简单地将notebook保存为GitHub上的脚本(比如),然后!wget并运行它似乎更容易。这应该附加到建议使用%%writefile的答案中。