Ich möchte mein Fabric-Skript lokal ausführen, das sich wiederum bei meinem Server anmeldet, den Benutzer zum Bereitstellen wechselt, die Projekte .virtualenv aktiviert, wodurch das Verzeichnis zum Projekt geändert und ein Git-Pull ausgegeben wird.
def git_pull():
sudo('su deploy')
# here i need to switch to the virtualenv
run('git pull')
Normalerweise verwende ich den Befehl workon von virtualenvwrapper, der die Aktivierungsdatei als Quelle verwendet, und die Postaktivierungsdatei legt mich im Projektordner ab. In diesem Fall scheint es so zu sein, dass die Kontrolle dem Fabric übertragen wird, da Fabric von der Shell aus ausgeführt wird. Daher kann ich die in '$ source ~ / .virtualenv / myvenv / bin / enabled' integrierte Bash-Quelle nicht verwenden.
Hat jemand ein Beispiel und eine Erklärung, wie sie das gemacht haben?
workon
alsprefix
?