Не хватает прав debug Flask в PyCharm
При дебаге не хватает прав на открытие сокета и возникает ошибка.
Error starting the app server: (<class 'socket.error'>, error(13, 'Permission denied'), <traceback object at 0x7f0b8b7e8710>)
Решение нашел для себя в повышении прав. В PyCharm не хватает фичи, скрипта выполняющегося после завершения дебага, что печально, но не смертельно. Трулинуксоиды меня покарают за мой подход, и за безопасность, и за sudo, и за history.
Переходим в виртуальное окружение с python.
# cd venv/bin
И создаем скрипт запуска под sudo, даем ему права на выполение.
# nano python2.7_sudo.sh
#! /bin/bash
echo -e "<password>\n" | sudo -S -k /home/als/Projects/cronos/env/bin/python2.7 $*
Важно! man sudo
нам говорит
-S --stdin
Write the prompt to the standard error and read the password
from the standard input instead of using the terminal device.
The password must be followed by a newline character.
Пароль в открытом виде. И в конце скрипта $*, для того, чтобы скрипт работал, как интерпретатор.
# chmod +x python2.7_sudo.sh
Настраиваем в виртуальном окружении интерпретатор наш скрипт.
После завершения дебага я пользуюсь вот этим скриптом для прибития процесса дебага.
kill -9 "$(netstat -tulpn | grep ":80 " | awk '{ print $7 }' | awk -F '/' '{ print $1 }')"
Дополнительно
Для перехода в другой каталог текущей сессии bash можно использовать source. Это полезно при автоматизации рутинных дел.
Например пишем скрипт:
nano to_dir.sh
#!/bin/bash
cd /<dir1>/<dir2>/...
Чтобы скрипт не отвязывался от текущей сессии:
$ source to_dir.sh