最近、Mac OS 10.10.3のクリーンインストールを実行し、python環境をセットアップしようとしています。しかし、virtualenvwrapperを機能させることができません。
Homebrewを使用してpython 2と3をインストールしました。
$ which python
/usr/local/bin/python
$ which python3
/usr/local/bin/python3
$ which pip
/usr/local/bin/pip
$ which virtualenv
/usr/local/bin/virtualenv
$ which virtualenvwrapper.sh
/usr/local/bin/virtualenvwrapper.sh
これが私の.bash_profileの行です
export PATH=/usr/local/bin:$PATH
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
Virtualenvはそれ自体で次のように機能します:$ source bin/activate
しかし、virtualenvwrapper.shを入手すると。次のエラーメッセージが表示されます。
/usr/local/opt/python/bin/python2.7: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python and that PATH is
set properly.
何が悪かったのかわかりません。ターミナルでVIRTUALENVWRAPPER_PYTHONをエコーすると。正しいパスを返します。実際、私の道はすべて正しいです。それらはすべて自作ディレクトリを指しています。
どうすればそれを機能させることができますか?
この質問が出されてからしばらく経ちましたが、同じ問題が発生した場合に備えて、解決策を追加したいと思います。
VirtualenvwrapperはPython3を使用してインストールされているため、VIRTUALENVWRAPPER_PYTHON
変数は、Python2パスではなくPython3パスを指します。
つまり、.bash_profileの変更では次のようになります。export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
に:export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
次に、Python2にインストールされていない場合でも、virtualwrapperの使用を開始できます(Python2を使用して環境を明示的に作成する場合を除きます。その場合、pip2を使用して仮想ラッパーをインストールし、関連するpython =仮想環境作成コマンドのパス)。
コメント交換によると、virtualenvwrapperはpython 3.にのみインストールしました。python2にもインストールする必要があります。これを行うには:
curl -O https://bootstrap.pypa.io/get-pip.py python2.7 ./get-pip.py --user〜/.local/bin/pip install virtualenvwrapper My ownセットアップは逆です-私は仕事にpython2を使用しているので、3.xのvirtualenvを〜/ localにインストールします-それが役立つことを願っています。
どうもありがとうございました。あなたの答えは私を正しい方向に向けています。
Virtualenvをすべてアンインストールすることで問題を解決しました。
pip uninstall virtualenv virtualenvwrapper
次に、pip2.7を使用してすべてを再度インストールしました。
pip2.7 install virtualenv virtualenvwrapper
これで、virtualwrapper.shをソースしたときに、ターミナルがモジュールを見つけることができないという文句を言いません。
. /usr/local/bin/virtualenvwrapper.sh
ただし、python3がデフォルトのpythonです。
$ mkvirtualenv myenv
Using base prefix '/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4'
New python executable in myenv/bin/python3.4
Also creating executable in myenv/bin/python
Installing setuptools, pip...done.
Python2envを作成します。私はこれをする必要があります:
$ mkvirtualenv myenv --python /usr/local/bin/python
Running virtualenv with interpreter /usr/local/bin/python
New python executable in myenv/bin/python2.7
Also creating executable in myenv/bin/python
Installing setuptools, pip...done.
コメント交換によると、virtualenvwrapperはpython 3.にのみインストールしました。python2にもインストールする必要があります。これを行うには:
curl -O https://bootstrap.pypa.io/get-pip.py
python2.7 ./get-pip.py --user
~/.local/bin/pip install virtualenvwrapper
私自身の設定は逆です-私は仕事にpython2を使用しているので、〜/ localに3.xのvirtualenvをインストールします-それが役立つことを願っています。
これで私の問題は修正されました
Python2のエイリアスをすでに追加していると仮定します(Macの場合はデフォルトバージョンのpython)
これらを~/.bash_profile
に追加します
export WORKON_HOME=~/.virtualenvs
VIRTUALENVWRAPPER_PYTHON='/usr/local/bin/python3'
source /usr/local/bin/virtualenvwrapper.sh