2011-09-14 2 views
0

저는 피라미드와 깔개를 처음 사용하는 사람들에게 새로운 제품입니다. 내가 virtualenv를 사용하고 virtualenv dir 안에 피라미드 프로젝트를 시작하고 싶습니다. 문제는 paster가 프로젝트 이름으로 dir을 만들지 않고 현재 모든 dir (venv root)에 모든 scaffold 파일을 저장하는 것입니다.프로젝트 폴더가없는 프로젝트는 어떻게 만듭니 까?

나는 삐딱 거리는 것을 사용하지 않는다고 생각했지만 development.ini "use"옵션에서 내 응용 프로그램을 가리키는 방법을 여전히 모를 것입니다.

나는 내 파일 시스템의 완전히 다른 장소에 내 virtualenv를 가질 수도 있지만 이상한 것처럼 보일 것입니다 (아마도 virtualenvwrapper가 더 쉽게 만들 수 있습니다). 다른 방법이 있나요?

답변

1

이것은 프로젝트를 만드는 방법과 virtualenv가 관련이 없으며 서로를 포함하여 어디서나 둘 중 하나를 배치 할 수 있기 때문에 실제로 자전거를 털어내는 것입니다.

그러나 실제로 원하는 경우 paster create -t pyramid_starter -o .. <current_directory_name>을 사용하여 현재 디렉토리에서 프로젝트를 만들 수 있습니다. 새로운 기계 설정할 때

cd ~/work/my_repo 
virtualenv --no-site-packages env 
env/bin/pip install pyramid 
env/bin/paster create -t pyramid_starter -o .. my_repo 
git init 
echo 'env' > .gitignore 
git add . 

나는 보통이 작업을 수행 할 수 있습니다 :

새 프로젝트를 만들려면 내가 방금 언급 한 설정을 사용하여

cd ~/work 
git clone /path/to/<my repo>.git 
cd my_repo 
virtualenv --no-site-packages env 
env/bin/pip install -e . # equivalent to env/bin/python setup.py develop 

을, 당신은 추가 할 것 파일 .gitignoreenv 디렉토리

3

처음에는 혼란 스럽지만 코드가 가상 환경 디렉토리에 전혀있을 필요는 없습니다. 사실, 다른 버전의 Python이나 다른 버전의 라이브러리로 코드를 테스트하는 경우와 같이 동일한 코드를 사용하여 다른 환경을 사용하고자 할 때 환경에 코드를 두지 않는 것이 좋습니다.

virtualenvwrapper는 모든 환경을 한 곳에서 처리합니다. virtualenvwrapper는 virtualenv 위에 편리한 도구이지만 코드와 환경을 다른 장소에 두지 않아도됩니다. virtualenvwrapper를 사용하기 전에 virtualenv 자체에 좀 더 익숙해 져야합니다.

프로젝트 이름으로 paster 디렉토리를 만들어야합니다. 이것은 버전 제어에서 커밋 할 디렉토리입니다 (예 : git, mercurial ...). 가상 환경을 포함하는 디렉토리를 커밋하고 싶지는 않습니다.

관련 문제