2016-03-05 3 views
0

Я копирую приложение «hello world» из фляжки со своего веб-сайта и пытаюсь запустить его. Я получаю сообщение об ошибке в Chrome говоряflask 'hello world' не работает

Internal Server Error 

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application. 

Вот 'привет мир' приложение прямо из колб сайта

from flask import Flask 
app = Flask(__name__) 

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

if __name__ == '__main__': 
    app.debug = True 
    app.run() 

То, что я пробовал:

-temporarily отключающий Avast!

-disabling окна брандмауэра

-обеспечение что модуль колба устанавливается

Это работает пару дней назад на самом деле ...

+3

* Это работало пару дней назад на самом деле *. Да, код работает. Ошибка, которую вы видите, не создается Flask *. –

+0

Да, я знаю, что код в порядке, его работа над тысячами новичков передо мной :). Мне интересно, что могло бы помешать этому сделать это. –

+0

Итак, какой URL вы используете в своем браузере? Вероятно, вы увидите * ту же самую ошибку *, когда вы ** не выполняете сценарий Flask. Там что-то еще работает, и оно не работает. –

ответ

2

Я не знаю, почему, но когда я изменяю

app.run() 

в

app.run(port=4996) 

он начинает работать. Не знаю, почему порт по умолчанию выбрасывает ошибку. Ну что ж.

+0

Я думаю, что что-то работает на том же порту по умолчанию – kharandziuk

+2

Это потому, что, как я уже говорил по вашему вопросу, на другом порту работает ** другой ** сервер. –

+0

@MartijnPieters Ваше право, я новичок в этом и не совсем понимаю ваш комментарий. Но ваше право, даже после смены на 4996, 5000 имеет ошибку. Благодаря! –

1

другой процесс работает на порте 5000. Возможно, у вас все еще есть старый процесс с флягой, с разбитым кодом. Или на этом порту работает другой веб-сервер. Выключите этот процесс или запустите его на другом порту.

Вы можете переключиться на использование другого порта с port аргумент app.run():

app.run(port=8080) 

Если вы не можете понять, что процесс по-прежнему привязан к порту 5000, используйте монитор ресурсов Windows или запустить netstat -a -b из командной строки. См. How can you find out which process is listening on a port on Windows?

Смежные вопросы