Python 仮想環境: venv と依存関係の分離
Python 仮想環境をマスターします。 venv と pip を使用して依存関係を安全に作成、アクティブ化、管理する方法を学びます。
概要
複数の Python プロジェクトで作業する場合、必然的に依存関係の競合が発生します。プロジェクト A にはDjangoバージョン 3.2 が必要ですが、プロジェクト B にはDjangoバージョン 5.0 が必要です。これらのパッケージをグローバルにインストールすると、相互に上書きされ、アプリケーションの 1 つが破損します。仮想環境は、独自の Python バイナリとライブラリのインストールを含む、分離されたプロジェクト固有のディレクトリを作成することで、この重大な問題を解決します。
Python は、「venv」モジュールを通じて仮想環境の組み込みサポートを提供します。仮想環境を作成すると、シェル環境を調整するためのスクリプトとともに、Python インタープリターのコピーを含む新しいフォルダーが生成されます。アクティブ化すると、「pip」を使用してインストールしたパッケージはすべてこの分離フォルダーに直接ルーティングされ、グローバルな Python インストールはクリーンなままになり、プロジェクト固有のライブラリの影響を受けなくなります。
仮想環境の管理には、3 つの主要なコマンドが必要です。まず、`python -m venv venv` により、`venv` という名前の仮想環境ディレクトリが作成されます。次に、環境をアクティブ化します (macOS/Linux では「source venv/bin/activate」、Windows では「venv\Scripts\activate」)。最後に、`pipfrees>requirements.txt`を使用して依存関係を凍結し、他の開発者が正確な環境を再作成するために使用できるリストを作成します。仮想環境を理解することは、最新の Python エンジニアリングにとって譲れないベスト プラクティスです。
コードと実行の出力
パッケージ要件を作成、アクティブ化、出力するコマンドを示すモックアップ。
# This script prints the commands used to configure a virtual environment
commands = [
"python -m venv my_env # Create environment",
"source my_env/bin/activate # Activate environment (Mac/Linux)",
"pip install requests # Install isolated package",
"pip freeze > requirements.txt # Export dependency catalog"
]
print("--- Virtual Environment Lifecycle ---")
for index, cmd in enumerate(commands, 1):
print(f"Step {index}: {cmd}")--- Virtual Environment Lifecycle ---
Step 1: python -m venv my_env # Create environment
Step 2: source my_env/bin/activate # Activate environment (Mac/Linux)
Step 3: pip install requests # Install isolated package
Step 4: pip freeze > requirements.txt # Export dependency catalog段階的な実装
- 依存関係の重複を防ぐためにワークスペース プロジェクトを分離する
- Dockerコンテナ用の予測可能な環境の構成
- 再現可能なコードベースをrequirements.txtリストとともに出荷する
よくある質問
Python プロジェクトではどのフォルダーを gitignore する必要がありますか?
仮想環境ディレクトリ (通常は「venv/」または「.venv/」) を常に .gitignore ファイルに追加する必要があります。外部ライブラリの依存関係を git にチェックしないでください。
仮想環境を非アクティブ化するにはどうすればよいですか?
ターミナル ウィンドウに「deactivate」コマンドを入力するだけで、シェルがグローバル Python 環境に戻ります。
関連トピック
推奨される Python リソース
関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。
Python 仮想環境を作成してアクティブ化する方法
組み込みの venv モジュールを使用して Python 仮想環境を作成、アクティブ化、管理する方法を学びます。プロジェクトの依存関係を分離してクリーンな状態に保ちます。
Python 文字列メソッドのチートシート
Python 文字列操作の完全なリファレンス ガイド。文字列プロパティの書式設定、検索、分割、置換、チェックをマスターします。
Python と JavaScript: どちらのプログラミング言語が最適ですか?
Python と JavaScript の包括的な比較。構文の違い、パフォーマンス、使用例 (バックエンドとフロントエンド)、およびコーディング例を調べます。