J'utilise virtualenv
, virtualenvwrapper
, zsh
, oh-my-zsh
, terminaison, sur Crunchbang.
J'essaie d'afficher le nom du courant virtualenv
comme ça
workon example
(example)...
J'ai essayé de nombreuses solutions, aucune ne semble fonctionner, voici mon fichier .zshrc , je sais que ce n'est pas grave de le réparer mais je ne trouve pas la bonne solution. Cela fait longtemps que la dernière fois que j'ai utilisé Linux pour le développement de Django, j'ai oublié ce que je faisais.
En ce moment, je vois username@crunchbang
, je ne peux pas dire quel virtualenv j'utilise.
zsh
python
oh-my-zsh
virtualenv
Lynob
la source
la source
Réponses:
Invite de Shell
A l' intérieur de votre
virtualenv
environnement est un fichier,bin/activate
. Vous pouvez modifier ce fichier pour changer votre invite en ce que vous voulez qu'il ressemble. Plus précisément cette section du fichier:La variable
PS1
est une variable spéciale qui contrôle à quoi ressemblera l'invite d'un shell. Changer sa valeur changera votrevirtualenv
invite:Exemple
Créez un exemple d'environnement.
Lorsque vous utilisez,
virtualenv
vous sourcez généralement ce fichier.Après avoir apporté la modification ci-dessus à la variable
PS1
dans lebin/activate
fichier, mon invite est maintenant la suivante:Voici les instructions officielles sur la façon de procéder .
la source
activate
fichier? Votre dossier a bien fonctionné pour moi.virtualenv
fonctionne à part ça je ne vois rien, c'est peut-être un.zshrc
problème ouvirtualenvwrapper
? ce problème peut-il être débogué? s'il vous plaît noter que j'ai 2 fichiers exécutables virualenv, la normalevirtualenv
etvirtualenv-2.7
est-ce normal ou avirtualenv
été téléchargé deux fois? et voici comment j'ai installé virtualenv et virualenvwrapper au cas où celasudo pip install virtualenv
zsh
et cela fonctionne aussi, donc c'est très probablement un env. problème. Ignorons pour l'instant les 2 configurations de virtualenv. Pour déboguer, vous pouvez l'activerset -x
dans votre shell, puis réexécuter lasource activate
commande. Vous devriez voir desPS1=
lignes où l'invite est définie.Si vous utilisez
virtualenvwrapper
etzsh
qu'il existe un certain nombre de crochets zsh dans votre~/.virtualenvs/
répertoire que vous pouvez utiliser pour personnaliser vos environnements. Voici quelques informations à ce sujet. Vous pouvez forcer une mise à jourPS1
qui ajoutera le travail en coursvirtualenv
à votre invite shell en ajoutant:à
~/.virtualenvs/postactivate
. Pour supprimer la balise lorsque vousdeactivate
ajoutez:à
~/.virtualenvs/postdeactivate
La seule chose (plausible) qui devrait briser cela est le financement
~/.zshrc
tout en travaillant dans unvirtualenv
la source
Vous n'êtes pas obligé de modifier votre
~/.zshrc
.Puisque vous travaillez avec,
virtualenvwrapper
il est possible d'ajouter des options ou des crochets aux$WORKON_HOME/post(de)activate
fichiers.Si vous souhaitez voir plus de détails, consultez ici .
Le lien ci-dessus me permet de faire ensuite:
Dans mon cas,
$WORKON_HOME=~/Envs
car j'ai modifié ce chemin lorsque j'ai installé virtualenvwrapper; sinon, vous devriez avoir le dossier~/.virtualenvs
.Ouvrez le fichier
postactivate
situé dans$WORKON_HOME
Ajoutez ces lignes:
Économisez et profitez!
Vous obtiendrez quelque chose comme ceci:
(FACULTATIF) Si vous le souhaitez, vous pouvez modifier le
postdeactivate
fichier pour ajouter cette ligne:la source
Je viens de le tester sur Ubuntu 14.04 et j'ai eu le même problème. Pour le corriger, ajoutez ceci à votre .zshrc
ou exécutez ceci dans le terminal
Dans Mac OS XI devait faire
la source
Si vous connaissez le thème utilisé, vous pouvez ajouter une fonction pour récupérer le nom de base VIRTUAL_ENV activé et l'utiliser dans la variable PROMPT du fichier * .zsh-theme situé à ~ / .oh-my-zsh / themes / et ça devrait faire l'affaire!
Pour moi, c'était le thème par défaut «oh-my-zsh», c'est-à-dire «robbyrussels», qui était configuré.
L'ajout du code ci-dessus a généré le résultat ci-dessous:
(kunkka.com) est le virtualenv que je viens de désactiver.
Après avoir modifié le fichier de thème, n'oubliez pas de source le fichier .zshrc.
la source