ファブリック スクリプトをローカルで実行して、サーバーにログインし、デプロイするユーザーを切り替え、プロジェクト .virtualenv をアクティブにします。これにより、dir がプロジェクトに変更され、git pull が発行されます。
def git_pull():
sudo('su deploy')
# here i need to switch to the virtualenv
run('git pull')
私は通常、activate ファイルをソースとする virtualenvwrapper の workon コマンドを使用し、postactivate ファイルによってプロジェクト フォルダーに配置されます。この場合、ファブリックはシェル内から実行されるため、制御がファブリックに渡されているようで、bash の組み込みソースを「$source ~/.virtualenv/myvenv/bin/activate」に使用することはできません。
彼らがこれをどのように行ったかの例と説明を持っている人はいますか?