LINUX.ORG.RU

Запуск команд внутри скрипта без sudo

 , ,


0

1

Имеет скрипт deploy.sh, в котором присутствует строка:

echo -e "\nInstalling requirements..."
sh -c "pip install -r requirements.txt"

Скрипт запускается командой

sudo ./deploy.sh
следовательно, команда установки зависимостей выполняется как

sudo pip install -r requirements.txt

и пакеты ставятся глобально, а не локально для текущего проекта.

Как сделать, чтобы команда выполнялась без sudo?

./deploy.sh запускай без sudo и выполнится от текущего пользователя. Не пойму в чем проблема.

anonymous
()
Ответ на: комментарий от ivn86

да, нужно было уточнить, что в скрипте присутствуют команды, которые требуют правл суперпользователя

kukuruku11
() автор топика
Ответ на: комментарий от kukuruku11

Как сделать, чтобы команда выполнялась без sudo?

vs

в скрипте присутствуют команды, которые требуют правл суперпользователя

Значит запускай через sudo, но в virtualenv.

Тогда pip поставит пакеты не глобально, а в venv.

ivn86
()

Скорей всего пакеты ставятся глобально изза того, что sh -c «pip install -r requirements.txt» запускается в отдельном шелле, а там virtualenv не активно

Попробуйте добавить активацию venv внутрь sh

ism ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.