Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 这个网站可以’;够不着[烧瓶,蟒蛇]_Python_Google Chrome_Flask - Fatal编程技术网

Python 这个网站可以’;够不着[烧瓶,蟒蛇]

Python 这个网站可以’;够不着[烧瓶,蟒蛇],python,google-chrome,flask,Python,Google Chrome,Flask,当我在浏览器中打开链接0.0.0.0:5000时,我总是在浏览器上看到消息“无法访问此网站” 自从我在控制台上收到这条消息后,代码似乎正在运行 正在运行(按CTRL+C退出) 这是我正在使用的代码 from flask import Flask, render_template, request from scipy.misc import imsave, imread, imresize import numpy as np import keras.models import re imp

当我在浏览器中打开链接0.0.0.0:5000时,我总是在浏览器上看到消息“无法访问此网站” 自从我在控制台上收到这条消息后,代码似乎正在运行

正在运行(按CTRL+C退出)

这是我正在使用的代码

from flask import Flask, render_template, request
from scipy.misc import imsave, imread, imresize
import numpy as np
import keras.models
import re
import sys
import os
from load import *

sys.path.append(os.path.abspath('./model'))
app = Flask(__name__)
global model, graph
model, graph = init()

def convertImage(imData):
    imgstr = re.search(r'base64(.*'.imData).group(1)
    with open('output.png', 'wb') as output:
        output.write(imgstr.decode('base64'))

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/predict', methods=['GET', 'POST'])
def predict():
    imData = request.get_data()
    convertImage(imData)
    x = imread('output.png', mode = 'L')
    x = np.invert(x)
    x = imresize(x, 48, 48)
    x = x.reshape(1,48,48,1)
    with graph.as_default():
        out = model.predict(x)
        response = np.array_str(np.argmax(out))
        return response



if __name__ == "__main__":
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

总的来说,这条信息

正在运行(按CTRL+C退出)

通知您将被侦听以接受请求的PC的IP地址。它可以配置为只侦听一个IP地址

正如评论中所述,如果您试图从您开发的同一台电脑访问您的网站,您可以使用虚拟(循环)地址
127.0.0.1
。如果您想检查您的网站在连接到同一网络的其他设备(即平板电脑、手机、其他PC等)上的外观,您需要键入PC的内部网络IP地址,并且该地址与循环不同。例如,它可能是192.168.1.1(您应该检查NIC属性)。如果你试着给你的朋友做一些像现场演示这样的东西,它可能会改变

因此,为了防止您每次检查哪一个IP地址当前对您的PC有效,您可以使用
0.0.0
告诉您的应用程序“侦听来自所有NIC的传入请求,无论它们有什么IP地址”。

对于我来说,使用
app.run(debug=False)
在使用

port = int(os.environ.get('PORT', 5000))
app.run(host='0.0.0.0', port=port)
没有


我不知道这是不是防火墙问题,也不知道为什么它不起作用。请注意,执行此操作后,它开始在
http://127.0.0.1:5000/

一定要使用127.0.0.1而不是0.0.0.0的ur本地主机进行本地测试,而不是,您可以使用http://localhost:5000和http://localhost:5000 是正确的
使用它而不是0.0.0.0

0.0.0.0不是有效的IP地址,因此无法实际连接到它。当服务器说它“在0.0.0.0上运行”时,意味着它正在接受任何网络适配器上的连接,而不是特定的网络适配器上的连接。使用127.0.0.1实际连接到您机器上运行的服务器。我尝试过,但实际上它不起作用,在使用0.0.0.0:5000之前它起作用,但现在我不知道是什么原因problem@kindall我找到了解决方案,你的评论真的很有帮助,我将主机更改为127.0.0.1,但我忘记的是flask在templates文件夹中查找index.html文件,我没有将其放在templates文件夹中当
127.0.0.1
起作用时,
0.0.0
不起作用有什么原因吗?难道不
0.0.0.0
只是严格地倾听更多吗?在哪里不起作用?如果您试图访问
0.0.0.0
-您的网络中没有这样的IP。如果您想将某个东西绑定到
0.0.0.0
,但它不起作用,那么必须调查这个案例,现在我无法想象为什么它不起作用。