python 3.3.1をUbuntu lucidにインストールし、次のようにvirtualenvを正常に作成しました
virtualenv envpy331 --python=/usr/local/bin/python3.3
これにより、ホームディレクトリにenvpy331
フォルダが作成されました。
virtualenvwrapper
もインストールされていますが、ドキュメントでは2.4-2.7
バージョンのpython
のみがサポートされています。python3
virtualenvを整理しようとした人はいますか?もしそうなら、どのように教えてもらえますか?
virtualenvwrapperの最新バージョン はPython3.2でテストされています。 Python3.3でも動作する可能性があります。
既にpython3もvirtualenvwrapperがインストールされている場合、仮想環境でpython3を使用するために必要なことは、以下を使用して環境を作成することだけです。
which python3 #Output: /usr/bin/python3
mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment
または、(少なくともOSXでbrewを使用している場合):
mkvirtualenv --python=`which python3` nameOfEnvironment
環境の使用を開始すると、pythonと入力するとすぐにpython3の使用が開始されます。
Virtualenvwrapperを実行する代わりに、virtualenvwrapperにカスタムPythonバイナリを使用させることができます。そのためには、virtualenvで使用されるVIRTUALENV_PYTHON変数を使用する必要があります。
$ export VIRTUALENV_PYTHON=/usr/bin/python3
$ mkvirtualenv -a myproject myenv
Running virtualenv with interpreter /usr/bin/python3
New python executable in myenv/bin/python3
Also creating executable in myenv/bin/python
(myenv)$ python
Python 3.2.3 (default, Oct 19 2012, 19:53:16)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
virtualenvwrapperでは、パスなしでpython実行可能ファイルを指定できるようになりました。
(少なくともOSXでは)mkvirtualenv --python=python3 nameOfEnvironment
で十分です。
Ubuntuの場合; mkvirtualenv -p python3 env_name
を使用すると、python3でvirtualenvがロードされます。
Env内で、python --version
を使用して確認します。
これを.bash_profileなどに追加できます。
alias mkvirtualenv3='mkvirtualenv --python=`which python3`'
python 3環境を作成する場合は、mkvirtualenv
の代わりにmkvirtualenv3
を使用します。
走ってる
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
そして
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv-3.4
ubuntuのコマンドラインでmkvirtualenvがpython3およびvirtualenv-3.4を使用するように強制します。まだやらなければならないこと
mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment
環境を作成します。これは、/ usr/bin/python3にpython3があり、/ usr/local/bin/virtualenv-3.4にvirtualenv-3.4があることを前提としています。
これは、 virtualenvwrapper のbitbucket issue trackerの post に興味があるかもしれません。そこには、virtualenvwrapperのほとんどの関数がPython 3.3の venv 仮想環境で動作することが記載されています。