Настроить подсказку пути к virtualenv (Windows)

Установил virtualenv на свой рабочий компьютер (к которому у меня нет прав администратора), чтобы я мог экспериментировать с Python в свободное время во время смены. Обычно я создаю разные среды для разных модулей, например scrapy, twisted, flask и т. д.

Однако, оказавшись в среде и начав просматривать каталоги, я замечаю, что мне быстро не хватает места в терминале cmd Windows...

(scrapes) C:\Users\Me\Documents\code\scrapes\spiderman\spiderman\spiders\>

Поскольку я вижу, что моя виртуальная среда запускается из \scrapes с помощью крайнего левого приглашения, и поскольку я обычно не забочусь о чем-либо за пределами своей среды, когда я в ней, мне было интересно, есть ли у кого-нибудь способ изменить подсказка к чему-то более ощутимому; сказать:

(scrapes) ~\spiderman\spiderman\spiders\>

Другими словами, я должен подвести итог к папке virtualenv, заменив ее в этом случае на ~.

Похоже, что подсказка изменена с помощью сценария среды activate (scrapes\Scripts\activate):

активировать.bat:

@echo off
set "VIRTUAL_ENV=C:\Users\Me\Documents\code\scrapes"

if defined _OLD_VIRTUAL_PROMPT (
    set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
) else (
    if not defined PROMPT (
        set "PROMPT=$P$G"
    )
    set "_OLD_VIRTUAL_PROMPT=%PROMPT%"  
)
set "PROMPT=(scrapes) %PROMPT%"

if not defined _OLD_VIRTUAL_PYTHONHOME (
    set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%"
)
set PYTHONHOME=

if defined _OLD_VIRTUAL_PATH (
    set "PATH=%_OLD_VIRTUAL_PATH%"
) else (
    set "_OLD_VIRTUAL_PATH=%PATH%"
)
set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%"

:END

Мне кажется, что это повлияет только на подсказку для этой среды. Если бы кто-нибудь мог найти способ суммировать пути как действие virtualenv по умолчанию, это было бы очень круто.


person dbishop    schedule 23.09.2015    source источник
comment
Несколько связанный вопрос: stackoverflow.com/questions/ 10406926/ Я считаю, что то же самое будет работать и для Windows, хотя синтаксис будет немного другим.   -  person Wolph    schedule 23.09.2015
comment
@Wolph Я кратко рассмотрел это, прежде чем опубликовать свой вопрос, и меня беспокоит только то, что в нем есть только решения, касающиеся bash. Мне удалось найти файл .bat с `scrapes\Scrapes\, который, по-видимому, изменяет подсказку, но я почти ничего не знаю о сценариях .bat.   -  person dbishop    schedule 23.09.2015
comment
Опубликуйте ссылку на использование .bat скрейпов, и кто-нибудь сможет вам помочь.   -  person martineau    schedule 23.09.2015
comment
Самое близкое, что я нашел, это команда prompt $g - см. superuser.com/questions/315354/   -  person Mike Driscoll    schedule 23.09.2015
comment
Динамическая настройка приглашения cmd ограничена набором предопределенных кодов, например. приглашение по умолчанию — $P$G (текущий путь, знак «больше»). Вы можете изменить его на [$P]$_$G, который печатает путь в скобках, а затем печатает знак «больше» на следующей строке. Запустите prompt /?, чтобы просмотреть полный список кодов.   -  person Eryk Sun    schedule 23.09.2015
comment
Чтобы сохранить настройку в HKCU\Environment, запустите setx PROMPT "%PROMPT%".   -  person Eryk Sun    schedule 23.09.2015