[Python] venvから仮想環境を作成する
初めに
筆者は、6月中旬より未経験から自社開発企業のWebエンジニアになることができた。ただこれまでRubyを中心に学習してきたが、実務ではメイン言語がPythonになったので、現在新しくキャッチアップしているところである。
今回はその中で、仮想環境・venvについて取り上げる。
仮想環境・venvとは
Python を使って開発や実験を行うときは、用途に応じて専用の実行環境を作成し、切り替えて使用するのが一般的です。こういった、一時的に作成する実行環境を、「仮想環境」 と言います。*1
上記の仮想環境を、Pythonではvenvを使用する
bundler --pathに近い?
Railsでいうところのbundlerの仕組みの一部分に近いのではないかと思う。bundlerは、Gemパッケージの管理ツールであり、installする際に--path vendor/bundle
を使用することで、プロジェクト別にgemを管理することができる。
bundlerでは仮想環境という表現はしないものの、「プロジェクトごとに依存関係にあるパッケージを管理する」という意味合いで近いのではないか。
venvで実際に仮想環境を作成する
※macOS。事前にpython, pipはインストール済み
新しいプロジェクト下で、仮想環境作成用のファイルを作成する
(base) % python3 -m venv venv(名前は任意)
- venvファイルが作成される
仮想環境の中に入る source venv/bin/activate
(base) % source venv/bin/activate (venv) (base) %
source venv/bin/activate
とすると、2行目より(venv)と表示され、仮想環境に入ったことがわかる
仮想環境の中でDjango4.0をインストールする
(venv) (base) % python3 -m pip install Django==4.0 % python3 -m django --version #=> 4.0
仮想環境を抜ける deactivate
(venv) (base) % deactivate (base) python3 -m django --version #=> No module named django
deactivate
で2行目より、(venv)が消え仮想環境から抜けたことがわかる- djangoのバージョンを確認するコマンドも、存在しないと返されてしまい、仮想環境下でインストールできていたことがわかる