2012-12-28 7 views
0

virtualenv를 사용하여 로컬 환경에서 프로젝트 환경을 유지 관리합니다. 또한 virtualenvwrapper 사용, 그래서 나는 VIRTUALENV 사용하는 경우 virtualenv를 프로덕션 환경에서 항상 유지하려면?

workon project1 

그러나, 당신이 활성화 될 가상 환경을 필요로 사용하여 환경 사이를 전환 할 수 있습니다. 방금 ec2 인스턴스에 virtualenv를 설치했지만 환경이 활성 상태로 유지되도록하려면 어떻게해야합니까? 지금 당장이 작업을 수행하기위한 최선의 시도는 적절한 virtualenv 명령을 .bashrc에 넣는 것입니다. 그러나, 나는이 부분이 어떻게 작동하는지 정확하게 확신한다 ... 서버가 재시작되면 .bashrc가 실행될 것인가?

기본적으로 가상 서버를 항상 프로덕션 서버에 유지하는 가장 좋은 방법은 무엇입니까?

답변

2

"virtualenv 활성화 중"은 기본적으로 사용자의 $PATH 환경 변수를 변경한다는 의미입니다.

항상 에 VIRTUALENV가 활성화 한 앞에 추가하여 명령을 실행하기 전에 실행됩니다 $PATH 환경 변수 어딘가로 VIRTUALENV bin 경로하려는 경우 (~/.bashrc는 옵션입니다).

예 (~/.bashrc 사용) :

export PATH=/path/to/myenv/bin:$PATH 

(/path/to/myenv 가정 내 VIRTUALENV가 배치되는 경우) 당신이 (심지어 다시 시작 후) 새로운 bash 쉘을 시작할 때

~/.bashrc

만 실행됩니다. bash 쉘을 시작하지 않으면 ~/.bashrc이 실행되지 않습니다. 당신이 당신의 virtualenv 프로젝트에 정말 영구적하려면

+0

감사합니다. 그것은 주로 대답하지만 ... 문제는 .bashrc가 항상 실행되지 않는다는 것입니다. 예를 들어 비대화 형 쉘에서 (이 문제를 해결하기 위해 수정되었습니다) ... 그런 다음 특정 들어오는 HTTP 요청에 대해 아파치 서버의 가상 환경을 "켜기"로 유지하기 – jkeesh

0

직접 코드에 다음 두 줄을 채울 수 : 귀하의 답변에 대한

activate_this = 'this_is_my_project/bin/activate_this.py' 
execfile(activate_this, dict(__file__=activate_this)) 
관련 문제