かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Python zsh で仮想環境 venv に入れない?にハマる

Python の venv で作成した仮想環境に入れない問題にハマったのでメモ

venv

Python v3.3 から標準機能として取り入れられた仮想環境
venv 内では pip でインストールされるパッケージが仮想環境ごと別にすることができる

仮想環境の作成

$ python -m venv testvenv

testvenv というディレクトリに仮想環境が作成される

仮想環境の実行

仮想環境内の bin/activate を実行すると仮想環境に入れる

$ source testvenv/bin/activate
(testvenv) 
# 仮想環境から出る
(testvenv) deactivate

と、簡単に仮想環境が作成できて実行できる筈だった…

zsh で仮想環境が実行されない?

環境

zsh で venv 環境を作成して実行しようとしても何も起こらなかった

$ python -m venv testvenv
$ source testvenv/bin/activate
$

zsh の見たをカスタマイズしているのが問題だった

実際には仮想環境は実行されていたが、zsh をカスタマイズしていたために、仮想環境に入っていることの表示がされていないだけでした。
Powerlevel9k でカスマイズしていたので、表示に virtualenv を加えると仮想環境に入っていることが表示されるようになりました。

# .zprofile
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(ssh dir vcs newline virtualenv status)

👇

$ python -m venv testvenv
$ source testvenv/bin/activate
(testvenv) $

自分のしていたカスタマイズが原因だったので、原因が解るまで時間がかかってしまった…
zsh のカスタマイズパッケージの Powerlevel9k も Powerlevel10k を使うように言われているのですね…

それにしても Python の仮想実行環境簡単に作れるので驚きました


[参考]