2017-10-24 7 views
0

autoenv을 통해 .env 파일이있는 디렉토리에 I cd이있을 때마다 자동으로 파이썬 가상 환경을 활성화하고 일부 환경 변수를 설정합니다. 이 .env by essence는 설치 스크립트입니다.virtualenv`deactivate`에서 정리 스크립트를 어떻게 실행합니까?

# /absolute/path/to/project/.env 
source /absolute/path/to/project/.venv/bin/activate 

export ENV_VAR_1="foo" 
export ENV_VAR_2="bar" 

하지만 내 프로젝트에 참여 끝났어요 내가 deactivate

  • 를 입력 할 때 나는 이러한 환경 변수가 사라질 것으로 예상 .
  • 현실에서 이러한 환경 변수가 유지됩니다.

deactivate으로 전화를 걸어 내가 정리할 때 정리 해적판 스크립트를 실행할 수있는 깨끗한 방법이 있습니까? activate 스크립트 내부

답변

1

, 당신이 변수를 설정 해제 할 수있는 deactivate 블록이있다 :

deactivate() { 
    # ... 
    unset ENV_VAR_1 
    unset ENV_VAR_2 
} 
+0

흠, 당신은 이것에 대해 갈 수있는 유일한 방법이 될이 함수 내 정리를 추가 생각 하는가? 나는 이것이 어떻게 효과적인지 보지만 해키를 느낀다. – FinnM

+0

Nah, 정품 인증 스크립트는 모든 사용자 지정 활성화/비활성화 논리가있는 곳입니다. 코드가 많으면 별도의 스크립트로 이동하여 여기에서 호출 할 수 있습니다. – schwobaseggl

+0

Neato! 그래서 아마 .env 파일보다는 activate 스크립트에서 그 변수를 설정해야합니다. 권리? – FinnM