小牛升级后虚拟包装器的终端问题



升级到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。

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

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

  3. 使用 brew install python 或/和 brew install python3 安装所需的 python 版本。
  4. 决赛运行pip install --upgrade virtualenvwrapper

  5. 现在永远不要使用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

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

  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 

运行这两个命令帮助我摆脱了它(在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

那么它应该可以工作

最新更新