
Python仮想環境の包括的ガイド
あなたがシェフで、ある得意料理を持っているが、別の材料や調理法を試したいと思っているとする。元のレシピに直接手を加える代わりに、同じ料理のコピーを作ります。各コピーは、オリジナルのレシピを変更することなく、新しいバリエーションを試すことができます。こうすることで、メインディッシュの完成度を保ったまま、さまざまな味や調理法を試すことができる。仮想環境(このブログではvenvと略します)は、シェフとして同じ料理を複数持つようなものです。
このブログでは、Pythonの仮想環境とその扱い方について学びます。
Python仮想環境とは?
Python仮想環境は、特定のPythonインタプリタ・バージョンとそれに関連する依存関係を含む自己完結型のPython環境である。
これらの環境はPython環境の分離されたコピーを提供し、グローバルなPython環境に影響を与えることなく、異なるパッケージをインストールしてテストすることを可能にします。仮想環境を有効にすると、その環境にインストールされたPythonインタプリタとパッケージが、グローバルなPythonのインストールや他の環境よりも優先されます。そうすることで、プロジェクトは自動的に正しいバージョンの依存関係を使うようになります。
なぜ仮想環境が必要なのか?
仮想環境内で pipを使ったパッケージのインストールは、クリーンなグローバル環境を維持し、システム全体のパッケージが誤って変更されるのを防ぐためのベストプラクティスです。さらに、仮想環境を使うことが有益なシナリオもあります:
複数のプロジェクトが異なるバージョンのパッケージを使用する場合、Python開発における仮想環境は依存関係を別々に管理するのに役立ち、プロジェクトの要件間の衝突を防ぎます。
また、隔離されたテスト環境を作るのにも便利で、Pythonのメインセットアップに影響を与えることなく、新しいパッケージをテストするための特定の依存関係をセットアップすることができます。
仮想環境の構築と活性化のためのツールの使い方
仮想環境を作成するために使用できるツールには、次のようなものがあります。 コンダ, Pipenv, ポエトリーなどなど。人気があるのは virtualvenvと venv.
virtualenvの使用
virtualenvは、Pythonの新しいバージョンと古いバージョンの両方の環境を管理するのに特に便利なサードパーティ製のツールです。との主な違いは venvと大きく違うのは virtualenvはより柔軟でカスタマイズ可能なので、特定のPythonバージョンやカスタムパッケージディレクトリなどで仮想環境を作成するために使うことができます。以下は virtualenv.
インストール:
まず、システムにPythonがインストールされていることを確認する。
pipを使ってvirtualenvをインストールする:
pip install virtualenv環境づくり:
ターミナルでプロジェクトのディレクトリに移動する。
virtualenvを使って新しい仮想環境を作成する:
virtualenv myenvに置き換えてください。 myenvを希望の環境名に置き換えてください。
活性化:
Windowsの場合:
myenv\Scripts\activateUnixまたはMacOSの場合:
source myenv/bin/activateコマンドラインプロンプトにアクティブな仮想環境が表示されるはずです。
仮想環境内にパッケージをインストールする
pip install package_name活動停止:
単に
deactivateコマンドを使う:
deactivateこれでPythonのグローバル環境に戻ります。
以下のステップに従うことで virtualenvを効果的に使うことができます。
venvの使用
venvはPython 3に組み込まれているモジュールで、軽量の仮想環境を作成するのに最適なものです。独自のPythonインタプリタ、パッケージディレクトリ、環境変数を持つ隔離された環境を作成します。使用するには以下のコマンドに従ってください。 venv:
仮想環境の構築
ターミナルでプロジェクトのディレクトリに移動する。
venvを使って新しい仮想環境を作成する:
python -m venv myenvに置き換えてください。 myenvを希望の環境名に置き換えてください。
アクティベーション
Windowsの場合:
myenv\Scripts\activate.batUnixまたはMacOS上:
bash source myenv/bin/activate一度アクティベートすれば、通常の Python 環境と同じようにアクティブな仮想環境内で作業することができます。を使ってパッケージをインストールしたり、Pythonスクリプトを実行したり、依存関係を管理したりできます。pipを使ってパッケージをインストールしたり、Python スクリプトを実行したり、依存関係を管理したりできます。仮想環境内にパッケージをインストールする
pip install package_name活動停止:
単に
deactivateコマンドを使う:
deactivate
これでPythonのグローバル環境に戻ります。
2つの異なるプロジェクトのために仮想環境を作成する方法
Vonageを使って2つのプロジェクトを構築し、それぞれが異なるバージョンのFlaskを必要としているとします。オペレーティングシステムのグローバルPythonにしかFlaskがインストールされていない場合、同じパッケージの2つのバージョンを使うことはできません。この問題を解決するために、以下の手順でそれぞれのプロジェクトに仮想環境を作成しましょう:
1.最初のプロジェクトの仮想環境を作成する:
Unix/macOSとWindowsの場合:
python3 -m venv project1_venv
2.最初のプロジェクトの仮想環境をアクティブにする:
Unix/macOSの場合:
source project1_venv/bin/activateWindowsの場合:
project1_venv\Scripts\activate3.(オプション)環境変数を設定する(例:FlaskとVonage):
Unix/macOSの場合:
export FLASK_APP=app.py
export VONAGE_API_KEY=your_api_key
export VONAGE_API_SECRET=your_api_secret
Windowsの場合:
set FLASK_APP=app.py
set VONAGE_API_KEY=your_api_key
set VONAGE_API_SECRET=your_api_secret
4.最初のプロジェクト用にFlask(例:バージョン1.1.2)とVonageをインストールする:
Unix/macOSとWindowsの場合:
pip install Flask==1.1. vonage5.インストールされているパッケージのリスト
pip list6.2つ目のプロジェクトの仮想環境を作成する:
Unix/macOSとWindowsの場合:
python -m venv project2_venv7.つ目のプロジェクトの仮想環境をアクティブにする。
Unix/macOSの場合:
source project2_venv/bin/activate
Windowsの場合:
project2_venv\Scripts\activate8.(オプション)環境変数を設定する(例:FlaskとVonage):
Unix/macOSの場合:
export FLASK_APP=app.py
export VONAGE_API_KEY=your_api_key
export VONAGE_API_SECRET=your_api_secret
Windowsの場合:
set FLASK_APP=app.py
set VONAGE_API_KEY=your_api_key
set VONAGE_API_SECRET=your_api_secret9.つ目のプロジェクト用に、異なるバージョンのFlask(例えば、バージョン2.0.1)とVonageをインストールする。
Unix/macOSとWindowsの場合:
pip install Flask==2.0.1 vonage10.インストールされているパッケージのリスト
Unix/macOSの場合:
pip listWindowsの場合:
pip list11.FlaskとVonageのバージョンを確認する:
Unix/macOSとWindowsの場合:
flask --version
vonage --version でも私のマシンでは動いた」問題を回避する方法
あなたがVonageを使って最も素晴らしいアプリケーションを構築し、それを他の人が自分のマシンで再現したいとしよう。Vonage、Flask、その他の依存関係を仮想環境にセットアップしたら、依存関係をフリーズして requirements.txtファイルにフリーズする:
pip freeze > requirements.txt
次に、プロジェクトを共有し requirements.txtファイルをrepoに含めます。他の人は、あなたのrepoをクローンし、自分のプロジェクト・ディレクトリに仮想環境を作成することで、あなたの環境を再現することができます:
python -m venv venv
source venv/bin/activate # On macOS/Linux
venv\Scripts\activate # On Windows
最後に、requirements.txtファイルから依存関係をインストールする:
pip install -r requirements.txt 仮想環境の停止方法
仮想環境での作業が終わったら、それを解除することができる。ターミナルまたはコマンドプロンプトに deactivateと入力して Enter キーを押します。このコマンドは現在アクティブな仮想環境を無効にし、シェルセッションをグローバルな Python 環境を使うように戻します。
deactivate
まとめ
Python仮想環境はPython開発者にとって非常に貴重なツールであり、特定の依存関係や設定を持つ異なるプロジェクトのために隔離された環境を作成する方法を提供する。仮想環境はシェフのための独立したキッチンのように機能し、メインのレシピに影響を与えることなく実験やカスタマイズを行うことができます。のようなPythonモジュールを使うことで、ベストプラクティスに従うことができます。 venvまたは virtualenvのような Python モジュールを使ってベストプラクティスに従うことで、依存関係を簡単に管理し、競合を防ぎ、クリーンなプロジェクト設定を維持することができます。要件が異なる複数のプロジェクトで作業する場合でも、新しいパッケージや設定をテストする場合でも、仮想環境は効果的な Python 開発ワークフローに必要な柔軟性と一貫性を提供します。
その他のリソース
パーティーに参加する
このブログが気に入ったら(あるいは嫌いになったら)、ぜひ教えてください!Vonageデベロッパーエクスペリエンスチームをフォローする Xでフォローするか VonageコミュニティSlackチャンネルに参加してください。もしあなたの Python アプリケーションで仮想環境を使うことになったら、その経験をシェアしてください。 タグをつけてください。- あなたが何を咀嚼したのか、ぜひお聞かせください!


