Mir gefällt die Idee, die Bash-Eingabeaufforderung so zu aktualisieren, dass sie den Namen der aktuellen Umgebung enthält, wenn Sie ein Aktivierungsskript ausführen. Aber ich habe meine eigene schöne, farbige Eingabeaufforderung, daher möchte ich anpassen, wie der Name der virtualenv-Umgebung zur Eingabeaufforderung hinzugefügt wird.
Es scheint, als wäre die einfachste Lösung, eine neue Umgebungsvariable hinzuzufügen – wie VIRTUAL_ENV_DISABLE_PROMPT
– und nicht die PS2
-Magie auszuführen, wenn diese Variable gesetzt ist. Auf diese Weise kann meine vorhandene Prompt-Definition das Vorhandensein von VIRTUAL_ENV
prüfen und bei Bedarf einschließen.
Ich habe einen Patch erstellt, der dies implementiert:
https://bitbucket.org/dcreager/virtualenv/changeset/bcc84d4f18f9/
Original Comment By: Douglas Creager
Original Comment By: Jannis Leidel
Wenn dieses Problem behoben wurde, wie erhält man diese Funktionalität in virtualenv?
Verwenden Sie VIRTUAL_ENV_DISABLE_PROMPT?
Original Comment By: Joseph Turian
Josef: Sieht so aus. Ich habe die Zeit damit verbracht, die Quelle zu groken, und sie ist da drin:
if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; dann
Es wird also nur mit $PS1 herumspielen, wenn $VIRTUAL_ENV_DISABLE_PROMPT ist
nicht gesetzt (oder wenn es auf eine leere Zeichenfolge gesetzt ist). Also exportieren
VIRTUAL_ENV_DISABLE_PROMPT=1 sollte funktionieren.
Original Comment By: Anonymous
Hilfreichster Kommentar
Josef: Sieht so aus. Ich habe die Zeit damit verbracht, die Quelle zu groken, und sie ist da drin:
if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; dann
Es wird also nur mit $PS1 herumspielen, wenn $VIRTUAL_ENV_DISABLE_PROMPT ist
nicht gesetzt (oder wenn es auf eine leere Zeichenfolge gesetzt ist). Also exportieren
VIRTUAL_ENV_DISABLE_PROMPT=1 sollte funktionieren.