在 macOS 中安装 virtualenvwrapper 时出现的问题

Problems when installing virtualenvwrapper in macOS

我需要在我的 macOS Sierra 上安装 virtualenvwrapper 才能使用 Homebrew.

安装 TensorFlow. Previously I had installed Python 3 based on the instructions here

现在 pip 似乎不存在了(虽然 pip2pip3 有效),所以我做到了

sudo easy_install pip

然后我按照 给出的说明进行操作,当我这样做时

source /usr/local/bin/virtualenvwrapper.sh

我收到以下错误:

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/bin/python and that PATH is set properly.

我已经尝试了 here, and 给出的解决方案,但没有成功。我什至尝试安装 virtualenvwrapper 与:

sudo pip2 install --upgrade virtualenvwrapper

sudo pip3 install --upgrade virtualenvwrapper

但我仍然遇到同样的错误。有人可以帮我解决这个问题吗?

编辑:

我试过像这样延迟加载 virtualenvwrapper

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh
source /usr/local/bin/virtualenvwrapper_lazy.sh

只有这样我才不会收到任何错误,我才能继续安装 TensorFlow。但是每次我打开一个新的终端时 workon 都不起作用,我必须每次都做 source /usr/local/bin/virtualenvwrapper_lazy.sh 才能使用 workon。即使在调用 workon 时,我也会收到 warning/error 消息 /usr/bin/python: No module named virtualenvwrapper.

谁能帮我看看这是怎么回事?

我的解决方案只是一个 hack 而不是解决此问题的干净且合乎逻辑的方法,但您可以以 root 身份编辑 /usr/local/bin/virtualenvwrapper.sh 并在

后面的部分中编辑
# Locate the global Python where virtualenvwrapper is installed.

删除 if/else 条件并简单地使用 VIRTUALENVWRAPPER_PYTHON="$(command \which python3.5)"(将 3.5 更改为您的版本)然后再次 source 文件。