Отображение virtualenv - PullRequest
       15

Отображение virtualenv

5 голосов
/ 27 июля 2011

Когда я нахожусь в моем virtualenv и он активен, имя среды отображается в скобках перед обычным приглашением командной строки.Это выглядит так: (foo-env)User:~/Development/foo-env/foo$, где foo-env - это имя среды.Мне было интересно, есть ли способ сделать так, чтобы в командной строке отображалось что-то вроде (F)User:~/Development/foo-env/foo$, а не текущее отображение с (foo-env).Если это возможно, как бы я поступил так?

Спасибо.

Ответы [ 3 ]

6 голосов
/ 27 июля 2011

Так что я разобрался, как это сделать. В сценарии активации переопределяется $PS1 для добавления имени env, в данном случае (foo-env). Чтобы добавить к нему все, что вы хотите, вам нужно войти в скрипт activate, который вы запускаете, чтобы активировать virtualenv ([yourenv]/bin/activate]). Там вы меняете строку, которая определяет новый $PS1 из PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1", чтобы он был таким, как вы хотите, здесь PS1="(F)$PS1".

2 голосов
/ 14 января 2015

В качестве альтернативы используйте pew (Python Env Wrapper). Тогда ваш PS1 не будет поврежден при использовании virtualenv, и вы можете установить PS1 в свой .bashrc (и т. Д.), Как обычно, отображая $VIRTUAL_ENV, если он установлен. Соответствующий кусок мой выглядит так:

# python virtual env, however it comes to be
if [ -z ${VIRTUAL_ENV+x} ]
then
VENV_NOTICE=""
else
VENV_NOTICE=" (py: $(basename "$VIRTUAL_ENV"))"
fi

PS1='whatever $VENV_NOTICE else'
2 голосов
/ 27 июля 2011

Вам нужно установить переменную окружения $ PS1 для изменения вашего приглашения.

Посмотрите конфигурационные файлы virtualenv для настройки.

См. http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html, чтобы узнать, как это сделать.установить, как вы хотите.Похоже, вам просто нужно заменить строку foo-env на F.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...