仮想環境とは何ですか?
仮想環境は、独自のインストール済みパッケージのセットを持つ Python プロジェクトの分離環境です。これは、必要なライブラリのみが存在する、各プロジェクトの個別の部屋のようなものです。
なぜ断熱材が必要なのですか?
仮想環境がない場合、すべてのパッケージはシステム内にグローバルにインストールされます。これは問題につながります。
バージョンの競合。 プロジェクトによっては、同じライブラリの異なるバージョンが必要になる場合があります。分離なしでは、すべてのバージョンを1つ選択する必要があります。
システムの汚染。 時間が経つにつれて、追跡や削除が難しい未使用のパッケージがたくさん蓄積されます。
再現性の問題。 同僚やあなた自身が別のコンピューターでプロジェクトを実行しようとすると、どのパッケージが必要かを理解するのが難しいものです。
最初の仮想環境を作成する
Python には venv モジュールが組み込まれており、追加のツールをインストールせずに仮想環境を作成できます。
プロジェクトフォルダでターミナルを開き、次のコマンドを実行します。
python -m venv venvここでは、最初の単語 venv はモジュールの名前であり、2番目の単語は環境のフォルダ名です。どの名前でも使用できますが、venvまたは.venvが事実上の標準になっています。
コマンドが完了すると、venv フォルダーが次の構造で表示されます。
venv/
├── bin/ # アクティベーション スクリプト(Windows では Scripts/)
├── include/ # ヘッダーファイル
├── lib/ # インストール済みパッケージ
└── pyvenv.cfg # 環境構成アクティベーションとデアクティベーション
環境を作成するだけでは不十分です。有効にする必要があります。アクティベーション後、すべての pip および python コマンドはこの環境内で動作します。
LinuxおよびmacOSの場合:
source venv/bin/activateWindowsの場合:
venv\Scripts\activateアクティベーション後、ターミナル行の先頭に(venv)が表示されます。これは、環境がアクティブであることを意味します。
仮想環境を終了するには、次のように入力します。
deactivateパッケージをインストールしています
環境がアクティブになったので、必要なライブラリをインストールできます。
pip install requests
pip install django==4.1すべてのパッケージは、システムではなく、venv/libフォルダーにインストールされます。次のコマンドを使用して、インストールされているパッケージのリストを確認できます。
pip listrequirements.txtファイル
他の開発者(または別のコンピューター上のあなた自身)が環境を簡単に再現できるようにするには、requirements.txtファイルを使用します。これは、プロジェクトのすべての依存関係のリストを含む単純なテキストファイルです。
次のコマンドで作成できます。
pip freeze > requirements.txtファイルの内容は次のようになります。
requests==2.28.1
Django==4.1.0
certifi==2022.9.24これで、誰でも必要なパッケージをすべて1つのコマンドでインストールできるようになりました。
pip install -r requirements.txt
venvの代替案
venv は Python の標準ライブラリに含まれていますが、仮想環境を操作するための他のツールもあります。
virtualenv — 追加機能をサポートし、一部のシステムではより高速に動作する、より古いツールです。
pipenv - 依存関係と仮想環境の管理を統合し、requirements.txtの代わりにPipfileファイルを使用します。
poetry — 高度なプロジェクト管理とパッケージ公開機能を備えた最新の依存関係マネージャー。
conda — Pythonパッケージだけでなくシステムライブラリもインストールできるため、データサイエンスで人気があります。
初心者の開発者にとって、venvは、そのシンプルさと、追加で何かをインストールする必要がないことから、最適な選択肢です。
一般的な問題の解決
Windowsで環境がアクティブ化されませんか? スクリプトの実行を許可する必要があるかもしれません。管理者としてPowerShellを実行し、次のコマンドを実行します。
Set-ExecutionPolicy RemoteSignedpythonコマンドが動作しませんか? 一部のシステムでは、pythonの代わりにpython3を使用する必要があります。
環境が有効になっているかどうか忘れましたか? コマンド which python (Linux/macOS) または where python (Windows) を確認してください。パスは、仮想環境のフォルダを指す必要があります。
結論
仮想環境は、Python開発者の基本的なツールです。多くの問題を解決し、プロジェクトの作業をより快適で予測可能なものにします。このテクニックを習得するのに少し時間を費やすと、将来のプロジェクトで何倍も報われます。
Pythonをもっと深く学びたいですか?
ご招待します コディック — ここでは、あらゆるレベルの開発者向けの構造化されたコースを見つけることができます。さらに、素晴らしい テレグラムチャンネル 質問をしたり、経験を共有したり、志を同じくする人々からサポートを受けたりできるフレンドリーなコミュニティ!
