如果您还没有弄清楚这一点:您正在寻找的是出色的virtualenvwrapper软件包。它是python的virtualenv(如图)的包装,尽管在使用python环境时通常被引用,但它实际上是一种非常通用的工具,可以满足您的用例。
安装
pip install virtualenvwrapper
要么
easy_install virtualenvwrapper
并将初始化内容添加到您的shell配置(~/.zshrc, ~/.bashrc
)中
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$WORKON_HOME/projects
export PIP_VIRTUALENV_BASE=$WORKON_HOME
export PIP_RESPECT_VIRTUALENV=true
source /usr/local/bin/virtualenvwrapper.sh
用法
# create your env
mkvirtualenv my_project
# edit per project hooks
vim ~/.virtualenvs/my_project/bin/{postactivate,preactivate,predeactivate,etc}
# work in this env
workon my_project
您还具有~/.virtualenvs/{postactivate,postdeactivate,etc}
每次都被调用的通用钩子workon any_project
。
因此,例如,将行export HISTFILE="$VIRTUAL_ENV/bash_history"
插入~/virtualenvs/postactivate
钩子意味着$HISTFILE
变量将每次都扩展到另一个项目。