Cred că mediile virtuale Python (gestionate fie cu venv, fie cu pipenv) sunt concepute doar pentru a izola un mediu Python de altul, adică, de exemplu, să vă asigurați că aplicația dvs. Python rulează cu versiunea exactă a pachetelor de care are nevoie și nu intră în conflict cu cerințele unei alte aplicații.
Acest lucru nu are nimic de-a face cu instrumentele de sistem non-Python.
Deci, dacă doriți să vă construiți propriul mediu de experiment, cu versiunea dvs. de git și postgreSQL etc., cel mai bun pariu este să creați o mașină virtuală (VM) sau un container. Dacă sunteți nou în ambele, poate că VM-ul este mai ușor de înțeles și de utilizat (este ca și cum ați avea un PC dedicat pentru experimente).
Acestea fiind spuse, în sistemele Unix este cu siguranță fezabil să gestionezi diferite versiuni de instrumente (cum ar fi git) în aceeași mașină. Dacă sunteți dezvoltator, poate doriți să le instalați local (de exemplu, sub ~/local/versiunea-instrument
) și creați scripturi shell de configurare care adaugă acele instrumente la CALE
, astfel încât shell-ul le va găsi în loc de cele de sistem.
De exemplu, puteți crea un fișier precum my-git.sh
#!/bin/bash
PATH=~/local/git-1.2.3/bin:$PATH
export PATH
Apoi, atunci când doriți să utilizați instrumentul, în terminalul dvs. puteți tasta
$ sursă my-git.sh
și după aceasta data viitoare când invocați git în shell-ul dvs., va folosi binarul în ~/local/git-1.2.3/bin
(cu condiția să existe unul acolo) în locul celui de sistem.
Cu toate acestea, o configurare ca aceasta este mult mai implicată și nu asigură izolarea concurenței (de exemplu, bibliotecile partajate sunt încă cele instalate în sistemul dvs.)
Sper că acest lucru vă ajută.