Ich bin Python-Entwickler und arbeite normalerweise jederzeit mit mehreren Repositories. Die meisten dieser Projekte haben unterschiedliche Abhängigkeiten, daher erstelle ich in jedem Projekt eine virtuelle Umgebung. Ich bevorzuge es, eine virtuelle Umgebung direkt neben dem Code zu erstellen. Pycharm erkennt es auch, wenn das Repository in Pycharm geöffnet wird.
Dieses Setup hat die meiste Zeit funktioniert, aber manchmal aktiviere ich venv eines Repositorys und ändere es dann in ein anderes Repository, ohne die Aktivierung der richtigen Umgebung zu ändern. Normalerweise habe ich das bemerkt, wenn die Codeausführung fehlschlug und dabei nie mehr als eine Minute verloren hat, aber das brachte mich immer zum Nachdenken: Was wäre, wenn es eine Shell gäbe, die etwas ausführen könnte, wenn man ein Verzeichnis betritt?
Ich habe beschlossen, vorübergehend etwas Einfaches im Shell-Skript zu implementieren. Am Ende habe ich eine kleine Funktion erstellt, mit cd einen Alias versehen und sie in meine .bashrc-Datei eingefügt.
Es ist eine einfache Funktion und alles, was ich jemals brauchte. Das tut es,
Ich war damit einverstanden, die Umgebung nicht zu deaktivieren/zurückzusetzen, als ich das Verzeichnis verließ.
Fügen Sie die folgende Funktion in .bashrc hinzu und Sie sollten sie verwenden können.
Hinweis: Wenn Sie Ihre virtuelle Umgebung mit einem anderen Namen erstellen, ändern Sie bitte den Namen im folgenden Code.
function cd() { # Run a shell `cd` command or error command cd "$@" || return # If .venv exists in the directory if [[ -d .venv ]]; then # Deactivate any initialized virtual env, ignore error deactivate > /dev/null 2>&1 # activate .venv source .venv/bin/activate echo "deactivate prev venv and activate current venv" fi # Load a .cdenv file if [[ -f .cdenv ]]; then echo "loading .cdenv" source ./.cdenv fi }
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3