2017-12-31 807 views
0

. bin/activate을 입력하여 해당 폴더에서 내 파이썬 가상 환경을 활성화 할 수 있습니다. 대신 환경을 활성화하고, 내 마스터 프로젝트 폴더를 변경하고, 내 프로젝트를 나열하는 홈 폴더 (또는 그 밖의 다른 곳)에서 shazam과 같은 단일 단어 별칭을 입력하고 싶습니다. 별칭을 사용하여 virtualenv 활성화

나는 포함하는의 .sh 파일로 지적의 .bashrc에 별칭 만들기 시도 :

cd ~/path-to-virtual-environment 
. bin/activate 
cd ~/path-to-master-project-folder 
ls -a 

내가 권한 거부 오류가 발생했습니다, 그래서 나는 chmod u+x <script file>을 달렸다. 스크립트는 이제 실행되지만 VE가 활성화되지 않고 프로젝트 폴더가 나열되는 동안 셸은 마스터 프로젝트 폴더에 없습니다. 나는 약간의 지침에 감사 할 것입니다. 감사.

+1

virtualenvwrapper를 확인하십시오. virtualenvwrapper를 사용하면 virtualenv를보다 쉽게 ​​관리 할 수 ​​있습니다. https://virtualenvwrapper.readthedocs.io/en/latest/ – jdigital

+0

스택 오버플로는 프로그래밍 및 개발 관련 질문을위한 사이트입니다. 이 질문은 프로그래밍이나 개발에 관한 것이 아니기 때문에 주제와는 거리가 먼 것처럼 보입니다. 도움말 센터에서 [여기에서 내가 질문 할 수있는 항목은 무엇입니까?] (http://stackoverflow.com/help/on-topic)를 참조하십시오. 아마도 [Super User] (http://superuser.com/) 나 [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/)가 더 나은 곳이 될 것입니다. – jww

+0

제안 해 주셔서 감사합니다. 스택 오버플로 문제는 내 개발 환경에 액세스하는 것에 관한 것이고 별칭, bash 스크립트 및 가상 환경에 액세스하는 다른 질문에 대한 대답이 있기 때문에 적절한 장소처럼 보입니다 (그러나 내가하려는 일은 아닙니다). – landrykid

답변

0

모든 환경을 ~/.virtualenvs에 다시 만들고 virtualenvwrapper을 설치하십시오. env를 활성화하는 명령은 workon shazam입니다. 명령 행 완료가 지원됩니다.

이제는 쉘 스크립트에서 환경을 활성화하려고했습니다. 쉘 스크립트가 다른 쉘과 함께 실행되고 env 활성화가 현재 환경이 아닌 환경을 변경하기 때문에 작동하지 않습니다. 즉, 환경이 잠시 활성화되었지만 스크립트가 끝나면 새 셸이 종료되고 환경이 비활성화됩니다.

이 문제를 극복하는 데는 두 가지 방법이 있습니다.

  1. 스크립트 대신 별칭이나 쉘 기능을 사용하십시오. 현재의 쉘 환경을 변경하는 유일한 방법입니다.

  2. 스크립트 끝 부분에서 대화 형 셸을 실행하십시오 (exec $SHELL). 활성화 된 환경을 상속하고 명령 프롬프트를 제공합니다. 비활성화하려면 쉘을 종료하십시오 (exit 또는 [Ctrl] + [D]).

+0

쉘 기능을 사용했습니다. 고맙습니다. 'exec $ SHELL'을 (를) 추가해도 가상 환경이 활성화되지 않았습니다. 아마도 사용자 오류 일 것입니다. virtualenvwrapper에 대해 읽어 보았습니다. 이점을 보았을 때 추가 복잡성을 보증 할 수있는 충분한 환경을 가지고 있지 않았습니다. 상황이 바뀌면 다시 방문하겠습니다. – landrykid