답변:
그것이 당신이 찾고있는 것인지 확실하지 않지만 내 rc 파일 에 이것을 가지고 있습니다 :
mklab() {
# creates small test environments for scripting
local d=$(mktemp -d) && cd "$d" || return 1
clear; bash --login --noprofile --norc
cd - && rm -r "$d"
}; export -f mklab
깨끗한 쉘이있는 임시 디렉토리에 테스트를하고 나중에 제거합니다.
여기서 virtualenv는 라이브러리를 "설치"하지 않기 때문에 bash의 나쁜 예입니다. bash 버전을 쉽게 전환하는 방법을 찾고 있다면 질문에서 언급해야합니다.
순진한 시도 :
env를로드하려면 :
shvirtualenv() ( source "$1"; VIRTUALENV="$1" bash; )
종료시 변수를 저장해야합니다 (또는 바람직하지 않은 경우).
shvirtualenv_exit() {
# one could ask here whether to save the env:
declare -x > $VIRTUALENV
}
trap EXIT shvirtualenv_exit
단점 :
할 것:
이것은 정말 오래된 질문입니다. 여기서 답변이 구식입니다 ...
virtualenv 로 이것을 수행하는 현재 (2015) 방법은 다음과 같습니다.
$ {VIRTUAL_ENV} / bin / postactivate에서 :
export DJANGO_SETTINGS_MODULE=app.local_settings
$ {VIRTUAL_ENV} / bin / predeactivate에서 :
unset DJANGO_SETTINGS_MODULE
원 라이너 :
echo 'DJANGO_SETTINGS_MODULE=EOS.local_settings' >> ${VIRTUAL_ENV}/bin/postactivate
echo 'unset DJANGO_SETTINGS_MODULE' >> ${VIRTUAL_ENV}/bin/predeactivate
나는 virtualenvwrapper를 좋아한다.
workon myvenv
# 내 virtualenv를 활성화하십시오setvirtualenvproject
# 프로젝트 디렉토리에서 다음을 허용합니다.cdproject
cdvirtualenv
deactivate
YMMV