# 当进入符合条件的目录时,系统会自动检测并激活 local 虚拟环境,如已经激活则不会重复操作。
# 当进入其他目录时,自动deactivate local env,即只在根目录下执行操作。
# 需要手动创建local env: python3 -m venv local
function cd() {
builtin cd "$@" # 执行默认的 cd 操作
if [ -f "requirements.txt" ]; then # 检查是否有 requirements.txt 文件
if [[ -z "$VIRTUAL_ENV" || "$(realpath "$VIRTUAL_ENV")" != "$(realpath "$(pwd)/local")" ]]; then
source local/bin/activate # 激活虚拟环境
if [ ! -d "local" ]; then # 如果 local 文件夹不存在
echo "Installing dependencies with pip3 install ."
pip3 install . # 安装依赖
fi
fi
else
if [[ -n "$VIRTUAL_ENV" ]]; then
deactivate
fi
fi
}