ปรับแต่งพรอมต์เส้นทาง 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):

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 ฉันดูสิ่งนี้โดยย่อก่อนที่จะโพสต์คำถาม ข้อกังวลเดียวของฉันคือดูเหมือนว่าจะมีวิธีแก้ปัญหาเกี่ยวกับการทุบตีเท่านั้น ฉันสามารถค้นหาไฟล์ .bat ภายใน `scrapes\Scrapes\ ที่ดูเหมือนจะเป็นสิ่งที่เปลี่ยนแปลงพรอมต์ แต่ฉันไม่รู้อะไรเลยเกี่ยวกับการเขียนสคริปต์ .bat   -  person dbishop    schedule 23.09.2015
comment
โพสต์ลิงก์ไปยังการใช้ .bat scrapes และอาจมีบางคนสามารถช่วยคุณได้   -  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