sh zsh插件自动激活本地virtualenv

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh zsh插件自动激活本地virtualenv相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env zsh

dotvenv:current_dir_has_virtualenv_folder(){
    echo "$(pwd)" | grep "$(dirname "$VIRTUAL_ENV")" > /dev/null 2>&1
}

dotvenv:source() {
    local DOTPYVENV_DIR=".venv"
    local DOTPYVENV_FILE=".venvdir"

    if [ -n "$VIRTUAL_ENV"  ]; then
        dotvenv:current_dir_has_virtualenv_folder || deactivate

    elif [ -f "${DOTPYVENV_FILE}" ]; then
        DOTPYVENV_DIR="$(cat "${DOTPYVENV_FILE}")"

        [ -f "${DOTPYVENV_DIR}/bin/activate" ] && {
            source "${DOTPYVENV_DIR}/bin/activate"
        }

    elif [ -f "${DOTPYVENV_DIR}/bin/activate" ]; then
        source "${DOTPYVENV_DIR}/bin/activate"
    fi
}


autoload -U add-zsh-hook
add-zsh-hook chpwd dotvenv:source

以上是关于sh zsh插件自动激活本地virtualenv的主要内容,如果未能解决你的问题,请参考以下文章

zsh 命令自动补全插件 zsh-autosuggestions 安装和配置

sh 用于根据env_ $ current_folder语法创建和激活virtualenvs的脚本

sh 在Ubuntu 12.04上将Pygame 1.9.1安装到Python2.7 virtualenv中的脚本。确保在运行thi之前激活了virtualenv

cd进入目录时如何自动激活virtualenvs

sh 来自oh-my-zsh git插件的Git别名移植到鱼壳上

如何使用 makefile 激活 virtualenv?