Estoy usando virtualenv, virtualenvwrapper, zsh, oh-my-zsh, terminador, en Crunchbang.
Estoy tratando de mostrar el nombre de la corriente virtualenvasí
workon example
(example)...
He probado muchas soluciones, ninguna parece funcionar, aquí está mi archivo .zshrc , sé que no es gran cosa solucionarlo, pero no puedo encontrar la solución correcta. Ha pasado mucho tiempo desde la última vez que usé Linux para el desarrollo de Django, olvidé lo que solía hacer.
En este momento, veo username@crunchbang, no puedo decir qué virtud estoy usando.
zsh
python
oh-my-zsh
virtualenv
Lynob
fuente
fuente

Respuestas:
Aviso de Shell
Dentro de su
virtualenventorno es un archivo,bin/activate. Puede editar este archivo para cambiar su solicitud a lo que quiera que se vea. Específicamente esta sección del archivo:La variable
PS1es una variable especial que controla cómo se verá el indicador de un shell. Cambiar su valor cambiará suvirtualenvsolicitud:Ejemplo
Crea un entorno de muestra.
Cuando lo usa
virtualenv, normalmente obtiene este archivo.Después de hacer el cambio anterior a la variable
PS1en elbin/activatearchivo, mi mensaje ahora es esto:Aquí están las instrucciones oficiales sobre cómo hacer esto .
fuente
activatearchivo? Tu archivo funcionó bien para mí.virtualenvestá funcionando aparte de eso, no veo nada, ¿tal vez es un.zshrcproblema ovirtualenvwrapper? ¿Se puede depurar este problema? tenga en cuenta que tengo 2 archivos ejecutables virualenv, el normalvirtualenvy ¿virtualenv-2.7es esto normal ovirtualenvse descargó dos veces? y así es como instalé virtualenv y virualenvwrapper en caso de que sea importantesudo pip install virtualenvzshy también funciona con eso, por lo que es muy probable que sea un env. problema. Ignoremos las 2 configuraciones de virtualenv por el momento. Para depurar puede habilitarloset -x, en su shell y luego volver a ejecutar elsource activatecomando nuevamente. Debería verPS1=líneas donde se establece el indicador.Si está utilizando
virtualenvwrapperyzshhay una serie de ganchos zsh en su~/.virtualenvs/directorio que puede utilizar para personalizar sus entornos. Aquí hay un poco de información sobre estos. Puede forzar una actualizaciónPS1que antepondrá el trabajo actualvirtualenva su indicador de shell agregando:a
~/.virtualenvs/postactivate. Para eliminar la etiqueta cuando usteddeactivate, agregue:a
~/.virtualenvs/postdeactivateLo único (plausible) que debería romper esto es la asignación de recursos
~/.zshrcmientras se trabaja en unvirtualenvfuente
No tienes que editar tu
~/.zshrc.Dado que está trabajando con
virtualenvwrapperél, es posible agregar opciones o enlaces a los$WORKON_HOME/post(de)activatearchivos.Si quieres ver más detalles consulta aquí .
El enlace de arriba me permite hacer lo siguiente:
En mi caso
$WORKON_HOME=~/Envsporque modifiqué esta ruta cuando instalé virtualenvwrapper; si no lo hicieras, deberías tener la carpeta~/.virtualenvs.Abra el archivo
postactivateubicado en$WORKON_HOMEAgregue estas líneas:
¡Ahorra y disfruta!
Obtendrás algo como esto:
(OPCIONAL) Si lo desea, puede editar el
postdeactivatearchivo para agregar esta línea:fuente
Acabo de probarlo en Ubuntu 14.04 y tuve el mismo problema. Para solucionarlo, agregue esto a su .zshrc
o ejecutar esto en la terminal
En Mac OS X tuve que hacer
fuente
Si conoce el tema que se está utilizando, puede agregar una función para recuperar el nombre base VIRTUAL_ENV activado y usarlo en la variable PROMPT en el archivo * .zsh-theme ubicado en ~ / .oh-my-zsh / themes / y eso debería hacer el truco!
Para mí era el tema predeterminado 'oh-my-zsh', es decir, 'robbyrussels' que estaba configurado.
Agregar el código anterior generó el siguiente resultado:
(kunkka.com) es el virtualenv que acabo de desactivar.
Después de editar el archivo de tema, no olvides buscar el archivo .zshrc.
fuente