web-dev-qa-db-ja.com

PermissionError:[Errno 13]許可がFlask.run()を拒否しました

私はpython 3.でMacOS Xを実行しています。フォルダとファイルには755がありますが、運が悪ければ777でもテストしました。 Sudoを使用せずに実行した場合、または設定が間違っていますか?

cris-mbp:ProjectFolder cris$ python3 zbo.py 
Traceback (most recent call last):
  File "zbo.py", line 9, in <module>
    app.run(Host="127.0.0.1",port=81,debug=True)
  File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 843, in run
    run_simple(Host, port, self, **options)
  File "/usr/local/lib/python3.5/site-packages/werkzeug/serving.py", line 677, in run_simple
    s.bind((hostname, port))
PermissionError: [Errno 13] Permission denied
cris-mbp:ProjectFolder cris$ Sudo python3 zbo.py 
 * Running on http://127.0.0.1:81/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger pin code: 106-133-233
11
c3cris

特権ポート (81)でアプリを実行しようとしています-5000などのより高いポートを使用する場合、Sudo特権は必要ありません。

27
Matt Healy

bind呼び出しで「許可が拒否されました」エラーが発生しています。これは、ディレクトリのアクセス許可とは関係ありません。

特権ポート(1024未満のポート)であるポート81(奇妙な選択)にバインドしようとしています。つまり、rootとして実行する必要があります。

5

c:\ python27 \ディレクトリに移動し、python.exeとrigtlcickに移動して互換性を確認し、管理者特権オプションを選択して変更を適用します。次に、Pythonを使用してスクリプトを実行するソケット接続を作成できるコマンドを発行します。

0
harish