your - virtualenvwrapper python3




Comment modifier l'invite virtualenv par défaut? (3)

J'ai adopté la solution de @ ivanalejandro0 en réduisant un peu la fonction:

function virtualenv_info {
    # Get Virtual Env
    if [[ -n "$VIRTUAL_ENV" ]]; then
        # Strip out the path and just leave the env name
        echo "(venv:${VIRTUAL_ENV##*/})"
    fi

Ou si vous vous sentez vraiment hacky:

function virtualenv_info {
    [[ -n "$VIRTUAL_ENV" ]] && echo "(venv:${VIRTUAL_ENV##*/})"
}

Comment modifiez-vous l'invite par défaut de Virtualenvwrapper? Par défaut, travailler sur un environnement virtuel particulier avec une commande telle que "workon <_name_of_env_>" ajoute le nom de virtualenv à votre invite. Cela peut mal fonctionner si vous n'utilisez pas une invite de commande par défaut.



Si vous travaillez sur une PS1 personnalisée (comme ce problème a été découvert), je vous recommande de désactiver le changement d'invite, d'utiliser export VIRTUAL_ENV_DISABLE_PROMPT=1 (voir la documentation de virtualenv ) et de créer votre propre invite de virtualenv afin de l'ajouter à votre PS1. .

Voir cet extrait que j'ai utilisé:

function virtualenv_info(){
    # Get Virtual Env
    if [[ -n "$VIRTUAL_ENV" ]]; then
        # Strip out the path and just leave the env name
        venv="${VIRTUAL_ENV##*/}"
    else
        # In case you don't have one activated
        venv=''
    fi
    [[ -n "$venv" ]] && echo "(venv:$venv) "
}

# disable the default virtualenv prompt change
export VIRTUAL_ENV_DISABLE_PROMPT=1

VENV="\$(virtualenv_info)";
# the '...' are for irrelevant info here.
export PS1="... ${VENV} ..."






virtualenvwrapper