Я хочу запустить свою ткань script локально, которая, в свою очередь, войдет в мой сервер, переключит пользователя на развертывание, активирует проекты .virtualenv, который изменит каталог в проект и вытащит git.
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 '
У кого-нибудь есть пример и объяснение того, как они это сделали?