web-dev-qa-db-fra.com

PermissionError: [Errno 13] Autorisation refusée Flask.run ()

J'utilise MacOS X avec Python 3. Le dossier et les fichiers ont 755 mais je l'ai également testé dans 777 sans succès. Ma question est de savoir si j'ai les autorisations appropriées, pourquoi ne me laisse-t-il pas fonctionner sans Sudo. Ou mes paramètres sont-ils incorrects?

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
8
c3cris

Vous essayez d'exécuter l'application sur un port privilégié (81). Si vous utilisez un port supérieur, tel que 5000, vous n'avez pas besoin des privilèges Sudo.

19
Matt Healy

L'erreur "autorisation refusée" se produit sur l'appel bind; cela n'a rien à voir avec les autorisations de répertoire.

Vous tentez de vous connecter au port 81 (choix étrange), qui est un port privilégié (inférieur à 1024). Cela signifie que vous devez l'exécuter en tant que root.

3
Jonathon Reinhart

allez dans c:\python27\directory et rigtlcick python.exe et passez à l'onglet pour voir la compatibilité, puis sélectionnez l'option de privilège admin et appliquez les modifications. Maintenant, vous lancez la commande qui permet de créer la connexion socket. Après cela, exécutez le script en utilisant python 

0
harish