{}const=>[]async()letfn</>var
開発Python

Pythonの仮想環境:必要な理由と使用方法

仮想環境がライブラリのバージョンの競合を回避し、各プロジェクトの依存関係を分離するのにどのように役立つかを学びます。Python開発者の初心者向けの仮想環境の作成、アクティブ化、管理に関するステップバイステップガイド。

К

Kodik

著者

1分で読める

仮想環境とは何ですか?

仮想環境は、独自のインストール済みパッケージのセットを持つ Python プロジェクトの分離環境です。これは、必要なライブラリのみが存在する、各プロジェクトの個別の部屋のようなものです。

なぜ断熱材が必要なのですか?

仮想環境がない場合、すべてのパッケージはシステム内にグローバルにインストールされます。これは問題につながります。

バージョンの競合。 プロジェクトによっては、同じライブラリの異なるバージョンが必要になる場合があります。分離なしでは、すべてのバージョンを1つ選択する必要があります。

システムの汚染。 時間が経つにつれて、追跡や削除が難しい未使用のパッケージがたくさん蓄積されます。

再現性の問題。 同僚やあなた自身が別のコンピューターでプロジェクトを実行しようとすると、どのパッケージが必要かを理解するのが難しいものです。

🔥 10万人以上の学生が参加中

理論を読むのに疲れた?
コーディングの時間だ!

Kodik — 実践でプログラミングを学ぶアプリ。AIメンター、インタラクティブなレッスン、実際のプロジェクト。

🤖 AI 24時間
🎓 修了証
💰 無料
🚀 始める
今日参加


最初の仮想環境を作成する

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/activate

Windowsの場合:

venv\Scripts\activate

アクティベーション後、ターミナル行の先頭に(venv)が表示されます。これは、環境がアクティブであることを意味します。

仮想環境を終了するには、次のように入力します。

deactivate

パッケージをインストールしています

環境がアクティブになったので、必要なライブラリをインストールできます。

pip install requests
pip install django==4.1

すべてのパッケージは、システムではなく、venv/libフォルダーにインストールされます。次のコマンドを使用して、インストールされているパッケージのリストを確認できます。

pip list

requirements.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 RemoteSigned

pythonコマンドが動作しませんか? 一部のシステムでは、pythonの代わりにpython3を使用する必要があります。

環境が有効になっているかどうか忘れましたか? コマンド which python (Linux/macOS) または where python (Windows) を確認してください。パスは、仮想環境のフォルダを指す必要があります。

結論

仮想環境は、Python開発者の基本的なツールです。多くの問題を解決し、プロジェクトの作業をより快適で予測可能なものにします。このテクニックを習得するのに少し時間を費やすと、将来のプロジェクトで何倍も報われます。

Pythonをもっと深く学びたいですか?
ご招待します コディック — ここでは、あらゆるレベルの開発者向けの構造化されたコースを見つけることができます。さらに、素晴らしい テレグラムチャンネル 質問をしたり、経験を共有したり、志を同じくする人々からサポートを受けたりできるフレンドリーなコミュニティ!

🎯先延ばしをやめよう

記事は気に入った?
実践の時間だ!

Kodikでは読むだけでなく、すぐにコードを書く。理論 + 実践 = 本当のスキル。

即座に実践
🧠AIがコードを説明
🏆修了証

登録不要 • カード不要