web-dev-qa-db-ja.com

Mac OS X Yosemite10.10.3でのvirtualenvwrapperのエラーメッセージ

最近、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をエコーすると。正しいパスを返します。実際、私の道はすべて正しいです。それらはすべて自作ディレクトリを指しています。

どうすればそれを機能させることができますか?

16
user1499532

この質問が出されてからしばらく経ちましたが、同じ問題が発生した場合に備えて、解決策を追加したいと思います。

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 =仮想環境作成コマンドのパス)。

23
lionHeart

コメント交換によると、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.
9
user1499532

コメント交換によると、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をインストールします-それが役立つことを願っています。

1
hd1

これで私の問題は修正されました

Python2のエイリアスをすでに追加していると仮定します(Macの場合はデフォルトバージョンのpython)

これらを~/.bash_profileに追加します

export WORKON_HOME=~/.virtualenvs
VIRTUALENVWRAPPER_PYTHON='/usr/local/bin/python3'
source /usr/local/bin/virtualenvwrapper.sh
0
co2f2e