4

필자는 bash에 다음 줄을 추가했지만 mkproject은 가상 환경에 python 2.7 폴더를 계속 생성하므로 아직 수행 할 필요가없는 -p python3을 사용해야합니다.'mkproject'(virtualenvwrapper)가 파이썬 3을 디폴트로 사용하도록 강제하는 방법은 무엇입니까?

export VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh 
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3 
source /usr/local/bin/virtualenvwrapper_lazy.sh 
+1

'export VIRTUALENVWRAPPER_VIRTUALENV = virtualenv3'? – grochmal

+0

어떻게 "virtualenv3"을 정의 할 수 있습니까? – anquadros

+2

''python2'와''python3' 둘 다에'virtualenv'를 사용하려면 두개의'virtualenv' 스크립트가 필요합니다. 'virtualenv '의 첫번째 줄은'#!/usr/bin/python2' 또는'#!/usr/bin/python3' (virtualenv의 입력 스크립트는 놀라 울 정도로 짧습니다)입니다. 몇몇 배포판은 실제로'virtualenv2'와'virtaulenv3' 패키지 두 개를 만듭니다. 그러나 여러분이 매킨토시를 사용하고 있기 때문에 믿을만한'brew'를 통해 얻을 수 있습니다. 따라서'virtualenv' ->'virtualenv3'을 안전하게 복사하고 첫 줄을'#!/usr/bin/python3'으로 바꿀 수 있습니다 – grochmal

답변

2

virtualenvwrapper 당신은 당신이 사용하고있는 파이썬 버전에 해당하는 virtualenv로 설정해야합니다의 VIRTUALENVWRAPPER_VIRTUALENV 환경 변수를 이해한다. 예를 들어

virtualenvwrapper 쉘 스크립트로 virtualenv 실행 때문 필요
export VIRTUALENVWRAPPER_VIRTUALENV=virtualenv3 

(명령어의 앞에 python2python3 또는 첨가없이).

이렇게하면 virtualenv 스크립트는 shebang (#!)에 정의 된 인터프리터와 함께 실행됩니다. 당신이 python에 대한 brew를 사용하여 Mac의

#!/usr/bin/python3 
import virtualenv 
virtualenv.main() 

: virtualenv2virtualenv3 각각 포함하는 하나 스크립트 :

virtualenv2 :

#!/usr/bin/python2 
import virtualenv 
virtualenv.main() 

virtualenv3

대부분의 리눅스 배포판은이 개 패키지를 제공 설치. 따라서 virtualenv 스크립트를 vritualenv2virtualenv3 두 개의 인스턴스로 복사하고 shebang을 올바른 python 버전으로 변경하는 데는 아무런 문제가 없습니다.

(각 파이썬 버전, pip 통해 virtualenv 계란을 설치해야합니다.) 나는 .bashrc 파일에 별칭을 정의

0

기본적으로 python3를 사용하는 mkproject 명령을 덮어 :

alias mkproject='mkproject --python=/usr/bin/python3' 
관련 문제