こんにちは、JS2IIUです。
今回はPythonの仮想環境であるvenvについて使い方をさらっとみていきたいと思います。pip installで色々インストールしたらぐちゃぐちゃになっちゃった、という方は必見です。venvで開発環境をコントロールしていきましょう!今回もよろしくお願いします。
venvとは何か?
Pythonのvenv(Virtual Environment)は、プロジェクトごとに独立したPython環境を作成するための標準モジュールです。venvを使うことで、異なるプロジェクトで異なるライブラリのバージョンを管理し、環境の競合を防ぐことができます。
どのような人が使うのか?
- Python開発者: プロジェクトごとに異なるライブラリを管理したい人。
- データサイエンティスト: 特定のバージョンのライブラリを使用して実験を行う人。
- DjangoやFlaskなどのWeb開発者: プロジェクトごとに異なる依存関係を持つ人。
- 初心者: Pythonの環境構築を学びたい人。
venvを使うメリット
- 環境の分離: プロジェクトごとに独立した環境を持てる。
- 依存関係の管理: ライブラリのバージョンが固定され、他のプロジェクトに影響を与えない。
- システムPythonへの影響を回避: システム全体に影響を与えずにライブラリをインストール可能。
- 再現性の向上:
requirements.txtなどを利用して、環境を簡単に再現できる。
似たような仮想環境ライブラリとの比較
| 機能 | venv | virtualenv | conda |
|---|---|---|---|
| Python標準搭載 | ✅ | ❌(別途インストール) | ❌(別途インストール) |
| 軽量 | ✅ | ❌ | ❌ |
| パッケージ管理 | pip | pip | conda |
| 他の言語のサポート | ❌ | ❌ | ✅(R, C++ なども対応) |
| システムPythonに依存しない | ❌ | ❌ | ✅ |
venv環境の構築方法
1. venvを作成する
Bash
python -m venv myenvこれにより、myenvという仮想環境フォルダが作成されます。
2. 仮想環境を有効化する
- Windows
Bash
myenv\Scripts\activate- Mac/Linux
Bash
source myenv/bin/activate3. 必要なライブラリをインストールする
Bash
pip install requests numpy pandas4. インストール済みのライブラリ一覧を出力
Bash
pip freeze > requirements.txt5. requirements.txt から環境を再構築
Bash
pip install -r requirements.txtvenvの適用範囲
- プロジェクトフォルダ単位で作成するのが一般的
- Pythonのバージョンを変更したい場合は
pyenvとの併用が可能 - pipでインストールするライブラリは仮想環境内でのみ適用される
venv環境の削除方法と注意点
削除方法
仮想環境は単なるフォルダなので、削除するだけで環境を消せます。
Bash
rm -rf myenv # Mac/Linux
rd /s /q myenv # Windows(PowerShell)注意点
- 削除するとインストールしたライブラリも消えるため、必要なら
requirements.txtを保存しておく。 - すでに仮想環境を有効化している場合は、一度
deactivateを実行してから削除する。
参考リンク
最後に、書籍のPRです。
24年9月に出版された「ハイパーモダンPython-信頼性の高いワークフローを構築するモダンテクニック」、Claudio Jolowicz著、嶋田、鈴木訳。開発環境の構築、プロジェクトの管理、テストに関して実践的な内容でとても参考になる一冊です。ぜひ手に取ってみてください。


コメント