UnityとゲームAIと将棋

Unity、Pythonを中心にゲーム開発やゲームAI開発の技術メモ等、たまに将棋も

【Python】シェルスクリプトで venv のセットアップをする

結論

シェルスクリプトを source コマンドで叩く必要がある。

python3 -m venv env
source env/bin/activate
pip3 install -r requirements.txt

のようなシェルスクリプトは現在のシェルに反映させるためには

source setup.sh

と叩く。

詳細

仮想環境を venv で管理している Python プロジェクトがあった時に

python3 -m venv env
source env/bin/activate

と毎回打つのは面倒なのでシェルスクリプトでまとめて一括で処理できるようにしようとした時のこと。

python3 -m venv env
source env/bin/activate
pip3 install -r requirements.txt

のようなセットアップ用のシェルスクリプトを作成して

zsh setup.sh

と実行したところ、スクリプト完了後には仮想環境から抜けてしまっていた。
理由を調べていたところ

という違いがあるため現在のシェルで仮想環境に入るには

source setup.sh

と叩く必要があった。