【发布时间】:2014-08-25 18:29:15
【问题描述】:
标题或多或少说明了一切。尝试workon $SOME_VIRTUALENV 会回显命令,然后在高 CPU (~70%) 处无限期挂起,直到它到达kill -9'd。在 OS X Mavericks 上。
我四处搜索,大多数类似的问题似乎来自使用 zsh 的人(我不是),并且在制表符完成 virtualenv 名称(我不是)上也遇到崩溃,所以我有点不知所措。我知道,没什么好说的,但我并不完全是 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
【问题讨论】:
-
如果你创建一个全新的 virtualenv 会发生什么:
mkvirtualenv test -p /usr/local/bin/python。workon test还挂起吗? -
稍后,您可以删除
test虚拟环境:rmvirtualenv test。 -
另外,如果你运行
set -x,那么 bash 会显示所有正在执行的命令。这可能有助于定位workon XYZ挂起的位置。稍后,您可以使用set +x关闭详细模式。 -
一个新的 virtualenv 运行良好——显然应该尝试过,抱歉。删除并重新创建我正在处理的文件并将源文件夹复制回其中也有效。但是,一旦我重新安装了项目要求,它就会再次挂起。
set -x的唯一输出是+ workon $blah + in_args=("$@")有很多要求;我想我会通过自己,看看我是否能弄清楚发生了什么。 -
考虑在bitbucket repo上打开一个问题?
标签: python bash virtualenv virtualenvwrapper