Ich verwende virtualenv
, virtualenvwrapper
, zsh
, oh-my-zsh
, Terminator, auf Crunchbang.
Ich versuche, den Namen des Stroms virtualenv
so anzuzeigen
workon example
(example)...
Ich habe viele Lösungen ausprobiert, keine scheint zu funktionieren. Hier ist meine .zshrc- Datei. Ich weiß, dass es keine große Sache ist, sie zu beheben, aber ich kann nicht die richtige Lösung finden. Es ist lange her, dass ich Linux das letzte Mal für die Django-Entwicklung verwendet habe. Ich habe vergessen, was ich früher getan habe.
Im Moment username@crunchbang
kann ich nicht sagen, welches Virtualenv ich verwende.
zsh
python
oh-my-zsh
virtualenv
Lynob
quelle
quelle
Antworten:
Shells Eingabeaufforderung
In Ihrer
virtualenv
Umgebung befindet sich eine Dateibin/activate
. Sie können diese Datei bearbeiten, um die Eingabeaufforderung so zu ändern, wie Sie es möchten. Insbesondere dieser Abschnitt der Datei:Die Variable
PS1
ist eine spezielle Variable, die steuert, wie die Eingabeaufforderung einer Shell aussehen soll. Durch Ändern des Werts wird Ihrevirtualenv
Eingabeaufforderung geändert :Beispiel
Erstellen Sie eine Beispielumgebung.
Bei der Verwendung wird
virtualenv
diese Datei normalerweise als Quelle verwendet.Nach der obigen Änderung der Variablen
PS1
in derbin/activate
Datei lautet meine Eingabeaufforderung nun:Hier finden Sie die offiziellen Anweisungen dazu .
quelle
activate
Datei als Quelle angeben? Ihre Datei hat für mich gut funktioniert.virtualenv
funktioniert, außer dass ich nichts sehe. Vielleicht ist es ein.zshrc
Problem odervirtualenvwrapper
? Kann dieses Problem behoben werden? Bitte beachten Sie, ich habe 2 virualenv ausführbare Dateien, die normalevirtualenv
undvirtualenv-2.7
ist dies normal oder wurdevirtualenv
zweimal heruntergeladen? und so habe ich virtualenv und virualenvwrapper installiert, falls es darauf ankommtsudo pip install virtualenv
zsh
und es funktioniert auch damit, also ist dies höchstwahrscheinlich ein env. Problem. Lassen Sie uns die Setups von 2 virtualenv vorerst ignorieren. Zum Debuggen können Sie esset -x
in Ihrer Shell aktivieren und dann densource activate
Befehl erneut ausführen . Sie solltenPS1=
Linien sehen , in denen die Eingabeaufforderung festgelegt wird.Wenn Sie verwenden
virtualenvwrapper
undzsh
sich in Ihrem~/.virtualenvs/
Verzeichnis eine Reihe von zsh-Hooks befinden , können Sie Ihre Umgebungen anpassen. Hier ein paar Infos dazu. Sie können ein Update erzwingenPS1
, das die aktuelle Arbeitvirtualenv
Ihrer Shell-Eingabeaufforderung voranstellt, indem Sie Folgendes hinzufügen:zu
~/.virtualenvs/postactivate
. Um das Tag zu entfernendeactivate
, fügen Sie Folgendes hinzu:zu
~/.virtualenvs/postdeactivate
Das einzige (plausible) Problem, das dies verhindern sollte, ist die Beschaffung
~/.zshrc
während der Arbeit in einemvirtualenv
quelle
Sie müssen Ihre nicht bearbeiten
~/.zshrc
.Da Sie mit arbeiten, ist
virtualenvwrapper
es möglich, Optionen oder Hooks zu$WORKON_HOME/post(de)activate
Dateien hinzuzufügen .Wenn Sie mehr Details sehen möchten, konsultieren Sie hier .
Über den obigen Link kann ich als Nächstes Folgendes tun:
In meinem Fall,
$WORKON_HOME=~/Envs
weil ich diesen Pfad bei der Installation von virtualenvwrapper geändert habe. Wenn Sie nicht haben, sollten Sie den Ordner haben~/.virtualenvs
.Öffnen Sie die Datei
postactivate
in$WORKON_HOME
Fügen Sie diese Zeilen hinzu:
Speichern und genießen!
Sie erhalten so etwas:
(OPTIONAL) Wenn Sie möchten, können Sie die
postdeactivate
Datei bearbeiten , um diese Zeile hinzuzufügen:quelle
Ich habe es gerade auf Ubuntu 14.04 getestet und ich hatte das gleiche Problem. Um dies zu beheben, fügen Sie dies Ihrem .zshrc hinzu
oder führen Sie dies im Terminal
In Mac OS XI musste das gehen
quelle
Wenn Sie das verwendete Thema kennen, können Sie eine Funktion zum Abrufen des aktivierten VIRTUAL_ENV-Basisnamens hinzufügen und in der PROMPT- Variablen in der * .zsh-Themendatei unter ~ / .oh-my-zsh / themes / verwenden. und das sollte den Trick machen!
Für mich war es das voreingestellte 'oh-my-zsh'-Thema, dh ' robbyrussels ', das konfiguriert wurde.
Das Hinzufügen des obigen Codes erzeugte das folgende Ergebnis:
(kunkka.com) ist das virtualenv, das ich gerade deaktiviert habe.
Vergessen Sie nach dem Bearbeiten der Designdatei nicht, die .zshrc-Datei als Quelle zu verwenden.
quelle