Мне нужно активировать виртуальную среду (venv), поэтому я запускаю эти команды вручную в терминале:
source .venv/bin/activate # To activate the virtual env.
и
deactivate # To deactivate the virtual env
Это прекрасно работает при запуске вручную. Теперь мне нужно вставить эти команды в скрипт bash, чтобы AWS CodeDeploy развернул его на сервере Ubuntu 18.04.
Мой bash скрипт с именем after_install.sh
выглядит следующим образом ...
#!/usr/bin/env bash
set -e
source .venv/bin/activate
## DO SOME STUFF ##
deactivate
Для локального тестирования я сделал исполняемый скрипт и запустил скрипт, используя bash after_install.sh
. Но ничего не случилось. Это не активирует виртуальную среду. Кажется, что ни одна из вышеперечисленных команд не работала при запуске сценария bash.
Я не понимаю, почему эти команды работают, когда я запускаю их вручную, но не с помощью сценария bash. Что здесь происходит? Мне нужно написать эти команды внутри скрипта bash, чтобы AWS CodeDeploy мог развернуть его на сервере.