Python Mavericks升级后VirtualVWrapper的终端问题

Python Mavericks升级后VirtualVWrapper的终端问题,python,terminal,virtualenvwrapper,osx-mavericks,Python,Terminal,Virtualenvwrapper,Osx Mavericks,升级到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

升级到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,然后重新安装VirtualEnvrapper(升级到Mavericks后,我必须完成以下步骤):


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

本质上,卸载您以前拥有的任何virtualenv和编写的Python(使用
检查您是否删除了
/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

重新安排导出顺序,以便将
python
路径放在
.bash\u概要文件中的
virtualenv
命令之前

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

# needed for virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
pip安装——升级virtualenvwrapper将修复该问题,但从未使用过
sudo pip
这将改变整个系统。如果pip在没有
sudo
的情况下抛出权限错误,则应修复这些错误,然后仅使用
pip install$(软件包)
进行尝试

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

  • 安装并运行
    brew doctor
    。如果出现任何警告,请修复这些警告(实际上brew将告诉您如何修复这些警告)

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

  • 使用
    brew安装python
    或/和
    brew安装python 3
    安装所需的python版本
  • 最后运行
    pip安装--升级virtualenvwrapper

  • 现在,永远不要使用
    sudo-pip
    只使用
    pip


  • 尝试编辑.bash\u配置文件

    # 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
    

    我对MacOS High Sierra也有同样的问题。我可以用.bash_配置文件中的以下行修复它:

    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
    

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


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

    /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.
    
  • 哪个python
  • 输出-

    /usr/bin/python
    
    /usr/local/bin/virtualenvwrapper.sh
    
  • which virtualenvwrapper.sh
  • 输出-

    /usr/bin/python
    
    /usr/local/bin/virtualenvwrapper.sh
    
  • echo$VIRTUALENVWRAPPER\u PYTHON

    /usr/local/bin/python

  • 因此,您可以看到变量
    $VIRTUALENVWRAPPER\u PYTHON
    指向错误的PYTHON路径。因此,我们需要重置变量
    $VIRTUALENVWRAPPER\u PYTHON
    的路径

  • export virtualnewrapper\u PYTHON=/usr/bin/PYTHON
  • 现在运行以下命令:

    source /usr/local/bin/virtualenvwrapper.sh 
    

    您确定virtualenvwrapper.sh应该在/usr/bin/python中吗?或者您是否已将其安装到其他版本的python中(例如,使用自制软件安装?)是的,我重新安装了pip并使用升级,然后根据您的建议升级了virtualenvwrapper。现在一切都很好,非常感谢。这对我来说很有效,但只有在按照重新安装easy_install之后,才可以使用。bashrc-这是早期的.bash_配置文件。这是唯一一个在macOS High Sierra上对我有效的配置文件。谢谢@TuanWhat
    code
    ?@chrisFrisina code是我/家中的一个目录,您可以随意更改它和名称,创建目录后,我遇到了同样的问题,但在第3步中,当我运行echo$VIRTUALENVWRAPPER_PYTHON时,我得到了usr/bin/python3
    ,因为在第1步中,我有**usr/bin/pythonStep-3,这对我非常有用,因为我一直指向错误的
    PYTHON
    路径。一旦我找到了正确的路径,问题就解决了。再次感谢。