44

升级到 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.
4

9 回答 9

101

尝试重新安装 pip,然后重新安装 virtualenvwrapper(升级到 Mavericks 后我必须完成这些步骤):

$ sudo easy_install pip
$ sudo pip install --upgrade virtualenvwrapper
于 2013-10-23T19:18:54.520 回答
10

重新排列导出顺序,以便将python路径放在文件中的virtualenv命令之前.bash_profile

# python path
export PATH=/usr/local/bin:$PATH

# needed for virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
于 2014-10-12T03:28:15.080 回答
6

尝试编辑 .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
于 2017-03-07T08:16:02.480 回答
4

我不建议使用 sudo 运行 pip。是我针对相同问题的解决方案(升级到 Mavericks 之后)。

本质上,卸载您之前拥有的任何 virtualenv 和 brewed Python(用于which <command>检查您是否删除了除系统 Python 之外的所有内容/usr/bin/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
于 2013-11-03T17:48:04.800 回答
1

pip install --upgrade virtualenvwrapper将解决问题但从未使用过sudo pip这将改变整个系统。如果 pip 在没有权限的情况下抛出权限错误,sudo那么您应该修复这些错误,然后仅尝试使用pip install <--upgrade> $(package).

我宁愿建议安装homebrew,然后pip使用brew install pip它将为您安装最新稳定版本的 pip。

  1. 安装自制软件,然后运行brew doctor​​. 如果有任何警告修复这些(实际上 brew 会告诉你如何修复这些)。

  2. 您可能需要删除 Mac 附带的系统范围的 python 并用于brew安装所需的版本。使用来删除系统范围的 python

  3. 使用brew install pythonor/andbrew install python3安装所需的 python 版本。
  4. 最后运行pip install --upgrade virtualenvwrapper

  5. 现在永远不要sudo pip只使用pip.

于 2016-09-01T22:30:11.833 回答
1

我对 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
于 2018-04-13T18:30:09.667 回答
1

您只需要正确配置路径。在终端中运行以下命令:

  1. which python

输出 -

/usr/bin/python
  1. which virtualenvwrapper.sh

输出 -

/usr/local/bin/virtualenvwrapper.sh
  1. echo $VIRTUALENVWRAPPER_PYTHON

    /usr/local/bin/python

因此,您可以看到该变量$VIRTUALENVWRAPPER_PYTHON指向错误的 python 路径。所以我们需要重置变量的路径$VIRTUALENVWRAPPER_PYTHON

  1. export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python

现在运行以下命令:

source /usr/local/bin/virtualenvwrapper.sh 
于 2019-05-22T10:33:36.190 回答
0

运行这两个命令帮助我摆脱了它(在 macOS High Sierra 上进行了软件更新)

$ sudo easy_install pip

$ sudo pip install --upgrade virtualenvwrapper
于 2018-04-16T04:07:23.537 回答
0

首先使用以下命令交叉验证 .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

export VIRTUALENVWRAPPER_VIRTUALENV='virtualenv的结果'

source 'virtualenvwrapper.sh 的结果'

如果在验证路径后仍然存在 INITIALIZATION HOOK ERROR。

然后,在sourceleft everthing 因为它只是替换virtualenvwrapper.shvirtualenvwrapper_lazy.sh

然后它应该工作

于 2021-09-22T18:47:35.853 回答