升级到OSX Mavericks后,我在终端中收到以下消息:
/usr/bin/python: 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 virtualenv has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
set properly.
尝试重新安装 pip,然后重新安装 virtualenvwrapper(升级到 Mavericks 后我必须完成以下步骤):
$ sudo easy_install pip
$ sudo pip install --upgrade virtualenvwrapper
重新排列导出顺序,以便将python
路径放在.bash_profile
文件中的virtualenv
命令之前。
# python path
export PATH=/usr/local/bin:$PATH
# needed for virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
尝试编辑.bash_profile文件
# Home brew
export PATH=/usr/local/bin:$PATH
# 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
我不建议使用 sudo 运行 pip。这是我对同一问题的解决方案(升级到小牛队后)。
从本质上讲,卸载您之前拥有的任何虚拟环境和酿造的 Python(使用 which <command>
检查您是否删除了除 /usr/bin/python
中的系统 Python 之外的所有内容),并再次干净地安装它们:
brew install python --with-brewed-openssl
# Open a new terminal tab now (to access /usr/local/bin/python)
pip install virtualenv
pip install virtualenvwrapper
pip install --upgrade virtualenvwrapper
将解决此问题,但从未使用过sudo pip
这将在整个系统范围内更改。如果 pip 在没有sudo
的情况下抛出权限错误,那么您应该修复这些错误,然后仅尝试使用 pip install <--upgrade> $(package)
.
我宁愿建议安装homebrew
,然后使用brew install pip
安装pip
,这将为您安装最新的稳定版本的pip。
-
安装自制软件,然后运行
brew doctor
。如果有任何警告,请修复这些警告(实际上brew会告诉您如何修复这些警告)。 -
您可能需要删除 Mac 附带的系统范围的 python,并使用
brew
安装所需的版本。使用它来删除系统范围的 python - 使用
brew install python
或/和brew install python3
安装所需的 python 版本。 -
决赛运行
pip install --upgrade virtualenvwrapper
-
现在永远不要使用
sudo pip
只使用pip
。
我在MacOS High Sierra上遇到了同样的问题。我能够在我的.bash_profile文件中使用这些行来修复它:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Code
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
您只需要正确配置路径即可。在终端中运行以下命令:
-
which python
输出-
/usr/bin/python
-
which virtualenvwrapper.sh
输出-
/usr/local/bin/virtualenvwrapper.sh
echo $VIRTUALENVWRAPPER_PYTHON
usr/local/bin/python
因此,您可以看到变量$VIRTUALENVWRAPPER_PYTHON
指向错误的python路径。所以我们需要重置变量$VIRTUALENVWRAPPER_PYTHON
的路径。
-
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
现在运行以下命令:
source /usr/local/bin/virtualenvwrapper.sh
运行这两个命令帮助我摆脱了它(在macOS High Sierra上进行了软件更新)
$ sudo easy_install pip
$ sudo pip install --upgrade virtualenvwrapper
首先使用以下命令交叉验证 .bashrc 中的 PATH:
which virtualenv
which virtualenvwrapper.sh
输出:
echo $VIRTUALENVWRAPPER_PYTHON
和
which python3
应该是一样的这是
/usr/bin/python3
根据上述结果配置路径
导出WORKON_HOME=~/.virtualenvs
导出MY_PROJECT=~/my_proj
导出VIRTUALENVWRAPPER_WORKON_CD=1
导出 VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
导出 VIRTUALENVWRAPPER_VIRTUALENV='结果 哪个虚拟环境'
来源"结果 virtualenvwrapper.sh"
如果在验证路径后仍然 初始化挂钩错误仍然存在。
然后,在source
留下了一切,因为它只是用virtualenvwrapper_lazy.sh
替换virtualenvwrapper.sh
那么它应该可以工作