내 가상 환경을 어디에 두어야하는지 혼란 스럽습니다.
첫 번째 django 프로젝트에서 다음 명령으로 프로젝트를 만들었습니다.
django-admin.py startproject djangoproject
그런 다음 djangoproject 디렉토리로 cd’d하고 명령을 실행했습니다.
virtualenv env
내부 djangoproject
디렉터리 와 동일한 수준에 가상 환경 디렉터리를 생성했습니다 .
이 특정 프로젝트에 대한 virtualenv를 생성하는 잘못된 장소입니까?
나는 대부분의 사람들이 모든 virtualenv를 완전히 다른 디렉토리 (예 :)에 함께 보관 ~/virtualenvs
한 다음 virtualenvwrapper를 사용하여 이들 사이를 전환 한다는 인상을 받고 있습니다.
이를 수행하는 올바른 방법이 있습니까?
답변
많은 사람들이 virtualenvwrapper 도구를 사용합니다.이 도구는 모든 virtualenv를 동일한 위치 ( ~/.virtualenvs
디렉토리)에 보관하고 여기에서 만들고 유지하기위한 바로 가기를 허용합니다. 예를 들어 다음을 수행 할 수 있습니다.
mkvirtualenv djangoproject
그리고 나중에 :
workon djangoproject
virtualenv 디렉토리를 배포하고 싶지 않기 때문에 프로젝트 자체에 유지하는 것은 좋지 않을 수 있습니다 (컴퓨터 또는 운영 체제에 따라 다를 수 있음). 대신 pip를 사용하여 requirements.txt 파일을 유지하세요 .
pip freeze > requirements.txt
배포합니다. 이렇게하면 프로젝트를 사용하는 다른 사용자가 다음을 사용하여 모든 동일한 요구 사항을 virtualenv에 다시 설치할 수 있습니다.
pip install -r requirements.txt
답변
virtualenv 디렉토리의 위치를 변경하면 손상됨
이것은 디렉토리를 저장소 트리 외부에 두는 한 가지 장점입니다 . 예를 들어 ~/.virtualenvs
with virutalenvwrapper
.
그렇지 않고 프로젝트 트리에 보관하면 프로젝트 위치를 이동하면 virtualenv가 중단됩니다.
참조 : virtualenv 폴더를 중단하지 않고 이름 바꾸기
이 --relocatable
있지만 완벽하지 알려져있다.
또 다른 사소한 이점 : 그럴 필요가 없습니다 .gitignore
.
프로젝트 트리 자체에 gitignored를 넣으면 다음과 같은 이점이 있습니다.
- 관련 자료를 서로 가깝게 유지합니다.
- 주어진 virtualenv를 프로젝트 전체에서 재사용하지 않을 가능성이 높으므로 다른 곳에두면 큰 이점이 없습니다.
답변
일반적으로 허용되는 위치는 virtualenvwrapper의 기본 설치 위치와 동일한 위치입니다. ~/.virtualenvs
관련 항목 : virtualenvwrapper는 일반적인 virtualenv 명령에 대한 속기를 제공하는 훌륭한 도구입니다. http://www.doughellmann.com/projects/virtualenvwrapper/
답변
당신이 사용하는 경우 pyenv install Python
, 다음 pyenv-VIRTUALENV는 가장 좋은 방법이 될 것입니다. .python-version
파일을 설정 하면 작업 폴더 변경시 가상 환경을 자동으로 활성화하거나 비활성화 할 수 있습니다. Pyenv-virtualenv
또한 모든 가상 환경을 $HOME/.pyenv/versions
폴더에 넣습니다 .
답변
개인적인 경험으로 볼 때 모든 가상 환경을 단일 디렉토리에 구성하는 것이 좋습니다. 누군가 매우 예리한 메모리를 가지고 있고 파일 시스템에 흩어져있는 파일 / 폴더를 기억할 수없는 경우. 가상 환경을 관리하기 위해 다른 도구를 사용하는 것을 좋아하지 않습니다. VSCode에서 python.venvPath
모든 가상 환경을 포함하는 디렉토리를 구성 ( )하면 자동으로 모든 환경을 인식 할 수 있습니다.