Основы Python и Django. / Урок 3. Кортежи. Словари. / Bash и виртуальное окружение Python

Bash и виртуальное окружение Python.

Интерпретатор BASH помогает автоматизировать многие рутинные действия.

Например активирование виртуального окружения.

Эта операция происходит довольно часто и иногда разработчик забывает про нее.

Сделаем так, чтобы процесс активации происходил без нашего участия.

Создадим bash скрипт auto.sh с командой активации виртуального окружения.

source ./venv/bin/activate

При этом учитывая что папка виртуального окружения уже создана.

Добавим право на исполнение.

chmod +x auto.sh

Теперь для того, чтобы при изменении директории автоматически запускался наш скрипт необходимо переписать функцию cd.

Сделаем это в файле .bashrc

cd () {
    builtin cd ${1:+"$@"} 
    if [ -f "auto.sh" ]
    then
     . ./auto.sh
    fi  
}

В этой функции мы первым делом вызываем оригинальную (встроенную) функцию cd.

builtin cd ${1:+"$@"}

Затем проверяем существование файла и если он есть запускаем его.

    if [ -f "env.sh" ]
    then
     . ./auto.sh
    fi