2012-08-29 2 views
54

내 virtualenvs를 어디에 두어야하는지 혼란 스럽습니다.virtualenv를 어디에 만들어야합니까?

첫 번째 django 프로젝트에서 "django-admin.py startproject djangoproject"명령으로 프로젝트를 만들었습니다.

그런 다음 djangoproject 디렉토리로 cd하고 "virtualenv env"명령을 실행하여 가상 환경 디렉토리를 내부 "djangoproject"디렉토리와 동일한 수준으로 생성했습니다.

이 특정 프로젝트에 대해 virtualenv를 만드는 데 잘못된 위치입니까?

저는 대부분의 사람들이 모든 가상 환경을 완전히 다른 디렉토리에 보관한다는 인상을 받았습니다. ~/virtualenvs를 입력 한 다음 virtualenvwrapper를 사용하여 이들 사이에서 앞뒤로 전환하십시오.

올바른 방법이 있습니까?

답변

80

많은 사람들이 모든 가상 서버를 동일한 위치 (~/.virtualenvs 디렉토리)에 유지하고 거기에 만들고 유지하기위한 바로 가기를 허용하는 virtualenvwrapper 도구를 사용합니다. 예를 들어, 당신은 할 수 있습니다 나중에

mkvirtualenv djangoproject 

과 :

workon djangoproject 

이 프로젝트 자체의 VIRTUALENV 디렉토리를 유지하는 나쁜 생각 아마, 당신이 그것을 배포하지 않으려하기 때문에 (컴퓨터 또는 운영 체제에만 해당 될 수 있습니다).

pip freeze > requirements.txt 

을하고 배포 대신, pip를 사용하여 requirements.txt 파일을 유지합니다. ~/.virtualenvs

:

pip install -r requirements.txt 
+0

내가 핏 재료를 들여다 보지 않아도 좋았지 만 언젠가는 이것이 필요할 것이다. –

+0

pip는 장고 커뮤니티에서 매우 인기 있고 사용하기가 매우 쉽다. –

+0

데이비드 고맙습니다. 제가 생각한 그런 종류의 것입니다. 나는 요구 사항에 대해 알고 있고 그렇게하고있다. 나는 venv가 어디에 가야하는지에 관해 단지 확실하지 않았다. 운영체제에 관한 귀하의 의견은 귀하가 제안한 바를 행하는 데 대한 타당한 근거입니다. – William

4

을 넣어 일반적으로 수용되는 장소 virtualenvwrapper의 기본 설치를두고 같은 장소 :이 프로젝트를 사용하여 다른 사람이 자신의 VIRTUALENV에 모두 같은 요구 사항을 다시 설치 할 수 있습니다 관련 : virtualenvwrapper는 일반적인 virtualenv 명령에 대한 약자를 제공하는 훌륭한 도구입니다. VIRTUALENV 디렉토리의 위치를 ​​변경 http://www.doughellmann.com/projects/virtualenvwrapper/

10

이 저장소 트리, 예를 들어, 외부의 디렉토리 퍼팅의 주요 장점은 그것이

나누기 ~/.virtualenvs 이하는 virutalenvwrapper입니다.

그렇지 않으면 프로젝트 트리에 프로젝트를 유지하면 프로젝트 위치를 이동하면 virtualenv가 중단됩니다.

참조 : Renaming a virtualenv folder without breaking it

--relocatable이지만이 완벽하지 알려져있다.

또 다른 작은 이점 : .gitignore은 필요하지 않습니다.

그게 아니라면, 관련된 가상 머신을 가까이에두기 위해 virtualenvs를 프로젝트 트리 자체에두면 좋을 것입니다.

프로젝트간에 주어진 virtualenv를 결코 재사용하지 않기 때문에 괜찮습니다.

0

pyenv install Python을 사용하는 경우 pyenv-virtualenv을 사용하는 것이 좋습니다. .python-version 파일을 설정하면 작업 폴더를 변경할 때 가상 env를 자동으로 활성화하거나 비활성화 할 수 있습니다. Pyenv-virtualenv 또한 모든 가상 env를 $HOME/.pyenv/versions 폴더에 넣습니다.

관련 문제