2016-07-10 15 views
4

私はbashに次の行を追加しましたが、mkprojectは、仮想envにpython 2.7のフォルダを作成し続けます。したがって、私はまだ行う必要はありません-p python3を使用する必要があります。'mkproject'(virtualenvwrapper)がデフォルトでpython3を使用するように強制するには?

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

'virtualenv'を' python2'と 'python3'の両方に使うには二つの' virtualenv'スクリプトが必要です。 'virtualenvの最初の行は'#!/ usr/bin/python2'か '#!/ usr/bin/python3'です(virtualenvの入力スクリプトは驚くほど短いです)。いくつかのディストリビューションは、実際には2つのパッケージ 'virtualenv2'と' virtaulenv3'を作ります。しかし、あなたがMac上にいるので、私は信じているので、あなたは 'virtualenv' - >' virtualenv3'を安全にコピーし、 '#!/ usr/bin/python3'に最初の行を変更することができます – grochmal

答えて

2

virtualenvwrapperあなたが使用しているPythonのバージョンに適切なvirtualenvに設定する必要があり、VIRTUALENVWRAPPER_VIRTUALENV環境変数を理解しています。例えば:

virtualenvwrapperシェルスクリプトとして virtualenvを実行するので、これは必要とされている
export VIRTUALENVWRAPPER_VIRTUALENV=virtualenv3 

(コマンドの前にpython2又はpython3を添加せずに)。

このように、virtualenvスクリプトは、シボン(#!)で定義されたインタープリタで実行されます。あなたがpythonためbrewを使用するMacでは

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

virtualenv2virtualenv3含む各1つのスクリプト:

virtualenv2

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

virtualenv3

ほとんどのLinuxディストリビューションには、二つのパッケージを提供しますインストール。したがって、virtualenvスクリプトをvritualenv2virtualenv3の2つのインスタンスにコピーし、shebangを正しいpythonバージョンに変更しても問題はありません。

(あなたは各Pythonのバージョンのため、pipを通じて、virtualenv卵をインストールする必要があります。)

0

私は、デフォルトでのpython3を使用するようにmkprojectコマンドを上書きする.bashrcファイルに別名を定義した:

alias mkproject='mkproject --python=/usr/bin/python3' 
関連する問題