Я хочу запустить свой сценарий фабрики локально, который, в свою очередь, войдет на мой сервер, переключит пользователя на развертывание, активирует проекты .virtualenv, что изменит каталог проекта и выдаст команду git pull.
def git_pull():
sudo('su deploy')
# here i need to switch to the virtualenv
run('git pull')
Обычно я использую команду workon из virtualenvwrapper, которая является источником файла активации, а файл postactivate помещает меня в папку проекта. В этом случае кажется, что, поскольку ткань работает изнутри оболочки, управление передается ткани, поэтому я не могу использовать источник bash, встроенный в '$ source ~ / .virtualenv / myvenv / bin / activate'
У кого-нибудь есть пример и объяснение того, как они это сделали?
workon
в качествеprefix
?