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

原文由 c3cris 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

您正在尝试在 特权端口(81) 上运行该应用程序 - 如果您使用更高的端口(例如 5000),则不需要 sudo 特权。

原文由 Matt Healy 发布,翻译遵循 CC BY-SA 3.0 许可协议

“权限被拒绝”错误发生在 bind 调用;这与目录权限无关。

您正在尝试绑定到端口 81(一个奇怪的选择),这是一个特权端口(小于 1024 的端口)。这意味着您需要以 root 身份运行它。

原文由 Jonathon Reinhart 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题