[PYTHON] Nützlicher Kontextmanager für Fabric

Fabric.api.path: Kann $ PATH manipulieren

Mit Fabric.api.path können Sie mit Ihrem PFAD herumspielen.

Erstellen Sie beispielsweise Python aus dem Quellcode, platzieren Sie es unter / usr / local / bin und führen Sie Python hier aus.

fabpath.py


import fabric.api as api

with api.path("/usr/local/bin", behavior="prepend"):
    api.run("python -V")

Durch Angabe von behaviour = "prepend"

PATH=/usr/local/bin:$PATH

Es ist so entwickelt.

Fabric.api.prefix: Vorverarbeitung durchführen

Sie können Fabric.api.prefix verwenden, um den angegebenen Prozess vor allen Run- und Sudo-Anweisungen im with-Block einzufügen.

Verwenden Sie es beispielsweise, um virtualenv zu aktivieren.

enablevenv.py


import fabric.api as api

with api.prefix(". /home/www/bin/activate"):
    fabric.api.run("./manage.py syncdb")

Fabric.api.shell_env: Fügen Sie Shell-Umgebungsvariablen hinzu

Führen Sie beispielsweise ein Django-Skript mit einem Python-Befehl aus.

djscript.py


import fabric.api as api

with api.env_shell("PYTHONPATH=. DJANGO_SETTINGS_MODULE=settings.imagawa"):
    api.run("python dosomething.py")

Recommended Posts

Nützlicher Kontextmanager für Fabric
Python-Dotfiles ist praktisch für die Verwaltung von Dotfiles
Was macht Pythons Kontextmanager glücklich?
Verwendung des Python-Kontextmanagers