Alias kann eine Liste von Befehlen enthalten:
alias shazm='source ~/path-to-virtual-environment/bin/activate; cd ~/path-to-master-project-folder; ls -a'
Ich kann meine virtuelle Python-Umgebung durch Eingabe von deren Ordner aktivieren . bin/activate
. Ich möchte stattdessen einen einzelnen Wortalias eingeben, z. B. shazam
aus dem Home-Ordner (oder einem anderen Ort), der die Umgebung aktiviert, in meinen Master-Projektordner wechselt und meine Projekte auflistet.
Ich habe versucht, einen Alias in .bashrc zu erstellen, der auf eine .sh-Datei verweist, die Folgendes enthält:
cd ~/path-to-virtual-environment . bin/activate cd ~/path-to-master-project-folder ls -a
Ich erhielt eine Erlaubnis, deren Fehler abgelehnt wurde, also lief ich chmod u+x <script file>
. Das Skript wird jetzt ausgeführt, aber der VE wird nicht aktiviert. Wenn die Projektordner aufgelistet sind, befindet sich die Shell nicht im Hauptprojektordner. Ich würde mich über eine Anleitung freuen. Vielen Dank.
HINWEIS: Ich habe in einem anderen Forum eine ANTWORT erhalten . Shell-Skripts ändern nicht die Umgebung, aus der sie aufgerufen werden. Verwenden Sie stattdessen eine Shell-Funktion in .bashrc.
shazam () { source ~/path-to-virtual-environment/bin/activate cd ~/path-to-master-project-folder ls -a }
Alias kann eine Liste von Befehlen enthalten:
alias shazm='source ~/path-to-virtual-environment/bin/activate; cd ~/path-to-master-project-folder; ls -a'
Dies ist eine Kernfunktion des virtualenvwrapper-Pakets, zusammen mit einer robusten, ergänzenden Ausstattung.
So erstellen Sie eine Virtualenv mit dem Namen shazam
Virtualenvwrapper:
mkvirtualenv shazam
Um es zu aktivieren:
workon shazam
Zum Deaktivieren wie bei einer aktiven Virtualisierung:
deactivate
Mit dem Virtualenvwrapper sind viele Anwendungsfälle und Benutzerkonfigurationen möglich. Zum Beispiel bevorzuge ich es, alle meine Virtualenvs in einem einzigen Verzeichnis zu speichern ~/.envs
. Dies wird als Konfiguration unterstützt. Es ist ein Open Source- und aktiv gewartetes Projekt. Ich kann es nicht stark genug empfehlen.