🌊

python環境を快適にするためのセットアップ

2024/06/22に公開

venvの自動起動

以下のスクリプトを/usr/local/binに配置して、.bashrcからvenvSwitcher.shを読みこむように設定した。

venvSwitcher.sh
#!/bin/bash

cd() {
  builtin cd "$@"
  function activate_venv() {
          if [[ $(ls -a -U1 pyvenv.cfg |wc -l) < 1 ]]; then
                echo "There is no virtual env"
          elif [[ $(ls -a -U1 pyvenv.cfg |wc -l) > 1 ]]; then
                echo "There are over 2 venv dirs"
                echo "Please activate venv manually"
          else
                 source bin/activate
          fi
  }

  if [ -z "$VIRTUAL_ENV" ]; then
          if [ -e pyvenv.cfg ]; then
                activate_venv
          fi
  elif [[ $(pwd) != $(dirname "$VIRTUAL_ENV")/* ]] ; then
          deactivate
          if [ -e pyvenv.cfg ]; then
                activate_venv
          fi
  fi
}

参考ページ

https://qiita.com/zmtkr/items/365655fe6e2a4072e962

Discussion