Sesuaikan prompt jalur virtualenv (Windows)

Menginstal virtualenv di komputer kerja saya (yang saya tidak punya hak adminnya) sehingga saya dapat bereksperimen dengan Python di waktu senggang selama giliran kerja saya. Saya biasanya membuat lingkungan berbeda untuk modul berbeda, seperti scrapy, twisted, flask, dll.

Namun, begitu berada di lingkungan tersebut, dan saya mulai menjelajahi direktori, saya menyadari bahwa saya dengan cepat kehabisan ruang di terminal cmd Windows...

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

Karena saya dapat melihat bahwa lingkungan virtual saya dimulai dari \scrapes di prompt paling kiri, dan karena saya biasanya tidak peduli dengan apa pun di luar lingkungan saya begitu saya berada di dalamnya, saya bertanya-tanya apakah ada yang punya cara untuk mengubah lingkungan virtual saya. mendorong sesuatu yang lebih gamblang; mengatakan:

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

Dengan kata lain, saya meringkas ke folder virtualenv, menggantinya dalam hal ini dengan ~.

Tampaknya prompt diubah menggunakan skrip activate lingkungan (scrapes\Scripts\activate):

aktifkan.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

Tampaknya bagi saya bahwa ini hanya akan mempengaruhi prompt untuk lingkungan ini. Jika ada yang bisa menemukan cara untuk meringkas jalur sebagai tindakan default virtualenv, itu akan sangat keren


person dbishop    schedule 23.09.2015    source sumber
comment
Pertanyaan yang agak terkait: stackoverflow.com/questions/ 10406926/ Saya yakin hal yang sama juga bisa diterapkan pada Windows meskipun sintaksnya akan sedikit berbeda.   -  person Wolph    schedule 23.09.2015
comment
@Wolph Saya melihat sekilas ini sebelum memposting pertanyaan saya, satu-satunya kekhawatiran saya adalah bahwa tampaknya hanya ada solusi mengenai bash. Saya dapat menemukan file .bat di dalam `scrapes\Scrapes\ yang tampaknya mengubah prompt, tapi saya hampir tidak tahu apa-apa tentang skrip .bat   -  person dbishop    schedule 23.09.2015
comment
Posting tautan ke penggunaan .bat scrapes dan seseorang mungkin dapat membantu Anda.   -  person martineau    schedule 23.09.2015
comment
Yang paling dekat saya temukan adalah perintah prompt $g - Lihat superuser.com/questions/315354/   -  person Mike Driscoll    schedule 23.09.2015
comment
Menyesuaikan prompt cmd secara dinamis terbatas pada sekumpulan kode yang telah ditentukan sebelumnya, misalnya. prompt defaultnya adalah $P$G (jalur saat ini, lebih besar dari tandanya). Anda dapat mengubahnya menjadi [$P]$_$G, yang mencetak jalur dalam tanda kurung, lalu mencetak tanda lebih besar dari pada baris berikutnya. Jalankan prompt /? untuk melihat daftar lengkap kode.   -  person Eryk Sun    schedule 23.09.2015
comment
Untuk mempertahankan pengaturan di HKCU\Environment, jalankan setx PROMPT "%PROMPT%".   -  person Eryk Sun    schedule 23.09.2015