ฉันคิดว่าสภาพแวดล้อมเสมือนของ Python (จัดการด้วย venv o pipenv อย่างใดอย่างหนึ่ง) ได้รับการออกแบบมาเพื่อแยกสภาพแวดล้อม Python หนึ่งออกจากอีกสภาพแวดล้อมหนึ่ง นั่นคือ ตรวจสอบให้แน่ใจว่าแอปพลิเคชัน Python ของคุณรันด้วยเวอร์ชันของแพ็คเกจที่ต้องการ และไม่ขัดแย้งกัน กับข้อกำหนดของแอปพลิเคชันอื่น
สิ่งนี้ไม่เกี่ยวข้องกับเครื่องมือระบบที่ไม่ใช่ Python
ดังนั้น หากคุณต้องการสร้างสภาพแวดล้อมการทดสอบของคุณเอง ด้วยเวอร์ชันของ git และ postgreSQL เป็นต้น วิธีที่ดีที่สุดคือการสร้าง Virtual Machine (VM) หรือคอนเทนเนอร์ หากคุณยังใหม่กับทั้งสองอย่าง บางที VM อาจเข้าใจและใช้งานได้ง่ายกว่า (เหมือนกับมีพีซีเฉพาะสำหรับการทดลอง)
ที่กล่าวว่าในระบบ Unix เป็นไปได้อย่างแน่นอนที่จะจัดการเครื่องมือเวอร์ชันต่างๆ (เช่น git) ในเครื่องเดียวกัน หากคุณเป็นนักพัฒนาซอฟต์แวร์ คุณอาจต้องการติดตั้งไว้ในเครื่อง (เช่น ภายใต้ ~/local/tool-version
) และสร้างสคริปต์การติดตั้งเชลล์ที่เพิ่มเครื่องมือเหล่านั้นลงใน เส้นทาง
เพื่อให้เชลล์ค้นหาพวกมันแทนระบบ
ตัวอย่างเช่น คุณสามารถสร้างไฟล์เช่น my-git.sh
#!/bin/bash
PATH=~/local/git-1.2.3/bin:$PATH
ส่งออกเส้นทาง
จากนั้นเมื่อคุณต้องการใช้เครื่องมือ คุณสามารถพิมพ์ในเทอร์มินัลของคุณ
$ แหล่งที่มา my-git.sh
และหลังจากนี้ในครั้งต่อไปที่คุณเรียกใช้คอมไพล์ในเชลล์ของคุณ มันจะใช้ไบนารีเข้า ~/local/git-1.2.3/bin
(โดยมีเงื่อนไขว่ามีอยู่) แทนระบบหนึ่ง
อย่างไรก็ตาม การตั้งค่าเช่นนี้มีความเกี่ยวข้องมากกว่า และไม่จัดให้มีการแยกการแข่งขัน (เช่น ไลบรารีที่ใช้ร่วมกันยังคงเป็นไลบรารีที่ติดตั้งในระบบของคุณ)
หวังว่านี่จะช่วยได้