Nie mam pojęcia, gdzie powinienem umieścić moje virtualenvy.
W moim pierwszym projekcie django utworzyłem projekt za pomocą polecenia
django-admin.py startproject djangoproject
Następnie przeszedłem do katalogu djangoproject i uruchomiłem polecenie
virtualenv env
który utworzył katalog środowiska wirtualnego na tym samym poziomie co djangoproject
katalog wewnętrzny .
Czy to niewłaściwe miejsce do tworzenia virtualenv dla tego konkretnego projektu?
Odnoszę wrażenie, że większość ludzi trzyma wszystkie swoje virtualenvy razem w zupełnie innym katalogu, np. ~/virtualenvs
, A następnie używa virtualenvwrapper do przełączania się między nimi.
Czy jest na to właściwy sposób?
źródło
Zmiana lokalizacji katalogu virtualenv przerywa to
Jest to jedna z zalet umieszczenia katalogu poza drzewem repozytorium, np. Pod
~/.virtualenvs
zvirutalenvwrapper
.W przeciwnym razie, jeśli zachowasz go w drzewie projektu, przeniesienie lokalizacji projektu spowoduje uszkodzenie virtualenv.
Zobacz: Zmiana nazwy folderu virtualenv bez niszczenia go
Jest,
--relocatable
ale wiadomo, że nie jest doskonały.Kolejna drobna zaleta: nie musisz tego robić
.gitignore
.Zalety umieszczenia go gitignored w samym drzewie projektu to:
źródło
Powszechnie akceptowanym miejscem ich umieszczenia jest to samo miejsce, w którym umieszcza je domyślna instalacja virtualenvwrapper:
~/.virtualenvs
Powiązane: virtualenvwrapper to doskonałe narzędzie, które udostępnia skróty do typowych poleceń virtualenv. http://www.doughellmann.com/projects/virtualenvwrapper/
źródło
Jeśli używasz
pyenv install Python
, pyenv-virtualenv będzie najlepszą praktyką. Jeśli ustawisz.python-version
plik, może automatycznie aktywować lub dezaktywować wirtualne środowisko env po zmianie folderu roboczego.Pyenv-virtualenv
również umieść wszystkie wirtualne env w$HOME/.pyenv/versions
folderze.źródło
Z własnego doświadczenia radziłbym zorganizować wszystkie środowiska wirtualne w jednym katalogu. Chyba że ktoś ma wyjątkowo ostrą pamięć i może zapamiętać pliki / foldery rozproszone po całym systemie plików. Nie jest wielkim fanem używania innych narzędzi tylko do zarządzania środowiskami wirtualnymi. W VSCode, jeśli skonfiguruję (
python.venvPath
) katalog zawierający wszystkie środowiska wirtualne, może automatycznie rozpoznać je wszystkie.źródło