2016-07-11 3 views
1

Я запускаю MacOS X с python 3. В папке и файлах есть 755, но я также протестировал ее в 777 без везения. Мой вопрос: если у меня есть права, почему это не позволяет мне работать без sudo. Или мои настройки неверны?PermissionError: [Errno 13] Permission denied Flask.run()

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 

ответ

1

«доступ запрещен» ошибка происходит на bind вызова; это не имеет никакого отношения к разрешениям каталога.

Вы пытаетесь связать порт 81 (странный выбор), который является привилегированным портом (менее 1024). Это означает, что вам нужно запустить его как root.

+0

Спасибо, я не знал о привилегированных портах. Имеет смысл. – c3cris

+0

_ «Это означает, что вам нужно запустить его как root». _ - В этом случае лучшим советом будет использование порта выше 1024. Так что OP не должен запускать свой сервер разработки веб-приложений с правами root. – marcelm

7

Вы пытаетесь запустить приложение на privileged port (81) - если вы используете более высокий порт, такой как 5000, вам не понадобятся привилегии sudo.

+0

Спасибо, я не знал о привилегированных портах. Имеет смысл. – c3cris

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