我运行的是 Mac OS 10.6.8。除了 python 2.6 之外,还想安装 python 2.7 并在新的 virtualenv 中使用 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 命令之前:
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,轻松安装和 PIP。这显然是必要的,以便它们与新的 python 版本正常工作:
sudo sh setuptools-0.6c11-py2.7.egg
sudo easy_install-2.7 pip
pip install virtualenv
关于Python Virtualenv - 没有名为 virtualenvwrapper.hook_loader 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11507186/