Virtualenv определяет псевдоним для команды deactivate как показано в yourvirtualenv/bin/activate.csh . Что меня интересует, так это то, где находится deactivate , потому что когда я запускаю alias команда deactivate не появляется в списке активных псевдонимов.

1 ответ1

1

Предполагая, что вы на самом деле используете bash а не csh , вы должны посмотреть на yourvirtualenv/bin/activate activ (не yourvirtualenv/bin/activate.csh), который определяет функцию с именем deactivate , а не псевдоним. Вы можете увидеть это с помощью команды type :

$ type deactivate
deactivate is a function
deactivate () 
{ 
    typeset env_postdeactivate_hook;
    typeset old_env;
    virtualenvwrapper_run_hook "pre_deactivate";
    env_postdeactivate_hook="$VIRTUAL_ENV/$VIRTUALENVWRAPPER_ENV_BIN_DIR/postdeactivate";
    old_env=$(basename "$VIRTUAL_ENV");
    virtualenv_deactivate $1;
    virtualenvwrapper_run_hook "post_deactivate" "$old_env";
    if [ ! "$1" = "nondestructive" ]; then
        unset -f virtualenv_deactivate > /dev/null 2>&1;
        unset -f deactivate > /dev/null 2>&1;
    fi
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .