标题基本上都说了。尝试使用workon $SOME_VIRTUALENV
命令,会回显该命令,然后在高CPU(约70%)下无限期挂起,直到使用kill -9
中止。在OS X Mavericks上。
我已经搜索过,发现大多数类似的问题似乎来自使用zsh的人(我没有),并且在虚拟环境名称上进行制表符完成时也会崩溃(我没有),所以我有些束手无策。我知道的不多,但我并不是bash专家,甚至对如何获得一些真正的诊断信息的建议也将不胜感激。
$ echo $OSTYPE
darwin13.1.0
$ echo $SHELL
usr/local/bin/bash
$ echo $BASH_VERSION
4.0.0(1)-release
$ which python
/usr/local/bin/python
$ python --version
Python 2.7.8
$ pip show virtualenv
---
Name: virtualenv
Version: 1.11.6
Location: /usr/local/lib/python2.7/site-packages
Requires:
$ pip show virtualenvwrapper
---
Name: virtualenvwrapper
Version: 4.3.1
Location: /usr/local/lib/python2.7/site-packages
Requires: virtualenv, virtualenv-clone, stevedore
.bashrc(或多或少地从某个地方复制粘贴):
# Locate virtualenvwrapper binary
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
export VENVWRAP=/usr/local/bin/virtualenvwrapper.sh
fi
if [ ! -z $VENVWRAP ]; then
# virtualenvwrapper -------------------------------------------
# make sure env directory exists; else create it
[ -d $HOME/sites/env ] || mkdir -p $HOME/sites/env
export WORKON_HOME=$HOME/sites/env
source $VENVWRAP
# virtualenv --------------------------------------------------
export VIRTUALENV_USE_DISTRIBUTE=true
# pip ---------------------------------------------------------
export PIP_VIRTUALENV_BASE=$WORKON_HOME
export PIP_REQUIRE_VIRTUALENV=false
export PIP_RESPECT_VIRTUALENV=true
export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache
fi
mkvirtualenv test -p /usr/local/bin/python
,会发生什么?workon test
仍然会挂起吗? - unutbutest
的虚拟环境:rmvirtualenv test
。 - unutbuset -x
,那么bash将显示所有正在执行的命令。这可能有助于定位workon XYZ
卡住的位置。稍后,您可以使用set +x
关闭详细模式。 - unutbuset -x
的唯一输出是`+ workon $blah + in_args=("$@")`
有相当多的要求;猜想我得自己仔细检查一下,看看到底是出了什么问题。 - Mark Whitfieldbash -x /usr/local/bin/virtualenvwrapper.sh $SOME_VIRTUALENV
以查看它具体卡在哪里。 - jmunsch