我正在玩virtualenv和pip,但我发现每次进入virtualenv目录时都必须“使用bin / activate”。 所以我想自动化它。一旦我们改变它的目录,或者一个shell功能启用这种行为,任何一种执行脚本的方法的想法?
答案 0 :(得分:1)
也许你在.bash_profile
::
has_virtualenv() {
if [ -e .venv ]; then
workon `cat .venv`
fi
}
venv_cd () {
cd "$@" && has_virtualenv
}
alias cd="venv_cd"
它用一个脚本替换默认cd
命令,该脚本1)对新目录中的cd
文件进行实际.venv
,2)检查,如果找到它,则假定file包含虚拟环境名称并执行workon `cat .venv`
。
workon
命令是普通source bin/activate
的替代;它由virtualenvwrapper
提供,并有一些像postactivate
钩子这样的细节。有关详细信息,请参阅项目页面。
上面的那段代码我通过Justin Lilly的post找到了。另请参阅virtualenvwrapper文档中的tips以获取其他一些很酷的东西。