2017-11-05 10 views
0

私はpythonのWebフレームワークの完全なnoobieです。 私は最初のコードを遵守し、サーバーがlocalhost:5000に実行を開始さapp.pyFlaskサーバーの起動に関する問題 - アドレスは既に使用中です

from flask import Flask 

app = Flask(__name__) 

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


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

にこれらの行を書き始めているユーチューブチュートリアルを次しています。その後、ctrl+cを使用してサーバーを停止し、行をapp.run(debug=True)に変更しました。私は再度ファイルをコンパイルしようとしたとき は、それは

[email protected]:~/python/flask/flaskapp$ python app.py 
Traceback (most recent call last): 
    File "app.py", line 11, in <module> 
    app.run(debug=True) 
    File "/home/harsha20599/.local/lib/python2.7/site-packages/flask/app.py", line 841, in run 
    run_simple(host, port, self, **options) 
    File "/home/harsha20599/.local/lib/python2.7/site-packages/werkzeug/serving.py", line 720, in run_simple 
    s.bind((hostname, port)) 
    File "/usr/lib/python2.7/socket.py", line 228, in meth 
    return getattr(self._sock,name)(*args) 
socket.error: [Errno 98] Address already in use 

以下の結果を示しています、私は手動でサーバーを再起動するか、空いているポートアドレスにサーバーを変更する強制することはできますか?

+0

'app.run(debug = True、port = 0)'を試してみると、ランダムな空きポートが選択されると思います。あるいは、現在何も使用していないものを自分で選んでください。 – jonrsharpe

+0

ブラウザでこのアドレスに行くとどうなりますか?あなたのアプリは見えますか?この場合、スレッドはまだ生きている – PRMoureu

+0

これは私が誤ってctl-cの代わりにctl-zを押すと私に起こります。私は通常、上記のように別のポートで起動するか、端末またはコマンドを再起動します。まあ、これはソケットが適切に閉じられていないこととは関係ありません。サーバーは動作していませんが、ソケットはまだ開いています。 – ramabodhi

答えて

2

サーバーポートを変更するオプションは、アプリケーションのrunメソッドで公開されています。引数の名前はportなので、app.run(port=5001)と変更して、ポート5001でリッスンするようにアプリに指示することができます。

詳細はthe Flask class documentationを参照してください。

関連する問題