1. ホーム
  2. python

Python Virtualenv - virtualenvwrapper.hook_loader という名前のモジュールがありません。

2023-07-11 09:27:52

質問

私は Mac OS 10.6.8 を使用しており、python 2.6 に加えて python 2.7 もインストールし、新しい仮想環境で python 2.7 を使用したいと思いました。私は次のステップを実行しました。

python 2.7 をダウンロードし、それをインストールしました。

http://www.python.org/ftp/python/2.7.3/python-2.7.3-macosx10.6.dmg

そして、python2.7を使って新しいvirtualenvをセットアップするコマンドを実行します。

mkvirtualenv --python=python2.7 mynewenv

私の.bash_profileは以下のような感じです。

# needed for virtualenvwrapper
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


# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

これでコンソールを開くと、次のようなエラーメッセージが表示されます。

ImportError: No module named virtualenvwrapper.hook_loader
virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenv has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python and that PATH is set properly.

また、別の投稿でvirtualenvwrapperをアップグレードした方が良いとありました。それは助けにはなりませんでした。

sudo pip install virtualenvwrapper --upgrade

どんな助けでも感謝します。

どのように解決するのですか?

以下の手順で問題が解決しました。

#switch the /usr/bin/python link to point to current python link
cd /usr/bin
sudo mv python python.bak
sudo ln -s /Library/Frameworks/Python.framework/Versions/Current/bin/python python

.bash_profile ファイルの virtualenv コマンドの前に export コマンドを配置しなおしました。

PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH
export PATH

# needed for virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

setuptools、easy install、PIPを再インストールしてください。これは明らかに、新しい Python のバージョンで適切に動作するために必要です。

sudo sh setuptools-0.6c11-py2.7.egg

sudo easy_install-2.7 pip

pip install virtualenv