python-2.7 - not - errno 13 permission denied windows
error:[errno 13] Permiso denegado-¿Qué permisos requiere bottle py? (2)
1) Si planea ejecutar esto en producción, no debe usar el servidor web incorporado de Bottle. Deberías usar Apache, nginx, etc. de los documentos de la botella :
El servidor predeterminado incorporado está basado en wsgiref WSGIServer. Este servidor HTTP sin hilos está perfectamente bien para el desarrollo y la producción temprana, pero puede convertirse en un cuello de botella de rendimiento cuando aumenta la carga del servidor. Hay tres formas de eliminar este cuello de botella:
- Use un servidor diferente que sea de subprocesos múltiples o asincrónico.
- Inicie varios procesos de servidor y distribuya la carga con un equilibrador de carga.
- Haz ambos.
2) [Como sabes,] Tienes que ser root para enlazar al puerto 80; no hay forma de evitar eso. ¿Has considerado usar sudo
?
sudo /home/pi/Desktop/gggg.py
Podría configurar sudoers para permitir de forma segura que el usuario "pi" ejecute solo gggg.py (o cualquier servidor web que termine usando para la producción).
Estoy tratando de ejecutar bottle py pero obtengo este error:
Traceback (most recent call last):
File "/home/pi/Desktop/gggg.py", line 176, in <module>
run(host=''somehost'', port=81)
File "/usr/lib/python2.7/dist-packages/bottle.py", line 2426, in run
server.run(app)
File "/usr/lib/python2.7/dist-packages/bottle.py", line 2123, in run
srv = make_server(self.host, self.port, handler, **self.options)
File "/usr/lib/python2.7/wsgiref/simple_server.py", line 144, in make_server
server = server_class((host, port), handler_class)
File "/usr/lib/python2.7/SocketServer.py", line 419, in __init__
self.server_bind()
File "/usr/lib/python2.7/wsgiref/simple_server.py", line 48, in server_bind
HTTPServer.server_bind(self)
File "/usr/lib/python2.7/BaseHTTPServer.py", line 108, in server_bind
SocketServer.TCPServer.server_bind(self)
File "/usr/lib/python2.7/SocketServer.py", line 430, in server_bind
self.socket.bind(self.server_address)
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
error: [Errno 13] Permission denied
>>>
Estoy conectado como "pi". Iniciar sesión como usuario raíz resuelve el problema. Mi pregunta es ¿qué permisos deben ejecutar bottle py y python (qué carpetas y qué permisos)?
Editar:
No estoy seguro si es importante, pero mis archivos python están en el directorio de escritorio. También establecí los permisos de la carpeta / subcarpeta para leer y escribir para todos.
Gracias a @Wooble me di cuenta de que el error de permiso tenía que ver con el puerto y no con el sistema de archivos.
Una solución de trabajo es utilizar el puerto por encima de 1024, que funciona perfectamente y está bien para el desarrollo. Usando el puerto 200 por ahora:
run(host=''someIP'', port=2000)
Todavía estoy buscando una solución de error de permiso de puerto 80 sin embargo.