仮想環境

仮想環境を使用する目的は、カプセル化された環境で Python コードをテストすること、および単一のプロジェクトでのみ使用する可能性のあるライブラリでベースの Python インストールを埋め尽くすことを避けることです。

venv

venv は、Python 3.3 以降で仮想環境を作成するための標準ライブラリモジュールです。Python に組み込まれているため、インストールは不要です。

  1. 仮想環境の作成
python -m venv venv

または、システムによっては:

python3 -m venv venv

これにより、現在のフォルダー内に仮想環境を含む venv ディレクトリが作成されます。

クイズ

ログインしてこのクイズに回答し、学習の進捗を追跡できます

venv を使用して仮想環境を作成するために使用されるコマンドは何ですか?
A. python -m venv venv
B. python create venv
C. venv create
D. python venv new
  1. 仮想環境のアクティベート

Linux/macOS の場合:

source venv/bin/activate

Windows の場合:

venv\Scripts\activate

アクティベートされると、コマンドプロンプトの先頭に (venv) と表示され、仮想環境がアクティブであることを示します。

クイズ

ログインしてこのクイズに回答し、学習の進捗を追跡できます

Linux/macOS で仮想環境をアクティベートするにはどうすればよいですか?
A. activate venv
B. source venv/bin/activate
C. venv activate
D. python venv activate
  1. パッケージのインストール

仮想環境がアクティブな状態で、pip を使用してパッケージをインストールします。

pip install package_name

インストールされたパッケージはこの仮想環境に固有のものになります。

  1. 仮想環境のディアクティベート

仮想環境を終了するには:

deactivate

コマンドプロンプトから (venv) プレフィックスが消えます。

クイズ

ログインしてこのクイズに回答し、学習の進捗を追跡できます

仮想環境を使用する主な目的は何ですか?
A. プロジェクトの依存関係を分離し、ベースの Python インストールが埋め尽くされるのを避けるため
B. Python の実行速度を向上させるため
C. Python コードを暗号化するため
D. Python を機械語にコンパイルするため

virtualenv

  1. virtualenv のインストール
pip install virtualenv
  1. virtualenvwrapper-win のインストール (Windows)
pip install virtualenvwrapper-win

使用方法:

  1. HelloWorld という名前の仮想環境の作成
mkvirtualenv HelloWorld

ここでインストールするものはすべてこのプロジェクト固有のものになります。そして、この環境に接続するプロジェクトでも利用可能になります。

  1. プロジェクトディレクトリの設定

仮想環境を現在の作業ディレクトリにバインドするには、単に以下を入力します。

setprojectdir .
  1. ディアクティベート

コマンドラインで別の作業に移るには、deactivate と入力して環境をディアクティベートします。

deactivate

括弧が消えることに注意してください。

  1. Workon

コマンドプロンプトを開き、workon HelloWorld と入力して環境をアクティベートし、プロジェクトのルートフォルダーに移動します。

workon HelloWorld

Poetry

Poetry のウェブサイトより

Poetry は、Python における依存関係管理とパッケージングのためのツールです。プロジェクトが依存するライブラリを宣言でき、Poetry がそれらを管理(インストール/更新)してくれます。

  1. Poetry のインストール
pip install --user poetry
  1. 新しいプロジェクトの作成
poetry new my-project

これにより、my-project ディレクトリが作成されます。

my-project
├── pyproject.toml
├── README.rst
├── poetry_demo
│   └── __init__.py
└── tests
    ├── __init__.py
    └── test_poetry_demo.py

pyproject.toml ファイルがプロジェクトとその依存関係を調整します。

[tool.poetry]
name = "my-project"
version = "0.1.0"
description = ""
authors = ["your name <your@mail.com>"]

[tool.poetry.dependencies]
python = "*"

[tool.poetry.dev-dependencies]
pytest = "^3.4"
  1. パッケージ

プロジェクトに依存関係を追加するには、tool.poetry.dependencies セクションで指定できます。

[tool.poetry.dependencies]
pendulum = "^1.4"

また、pyproject.toml ファイルを手動で変更する代わりに、add コマンドを使用すると、適切なバージョン制約が自動的に見つかります。

poetry add pendulum

pyproject.toml にリストされている依存関係をインストールするには:

poetry install

依存関係を削除するには:

poetry remove pendulum

詳細については、ドキュメントを確認するか、こちらをお読みください。

Pipenv

Pipenv ウェブサイトより

Pipenv は、すべてのパッケージングの世界(bundler、composer、npm、cargo、yarn など)の最高のものをもたらすことを目指したツールであり、Python の世界にもたらします。Windows は私たちの世界では一流の市民です。

  1. pipenv のインストール
pip install pipenv
  1. プロジェクトディレクトリに入り、プロジェクトのパッケージをインストールします
cd my_project
pipenv install <package>

Pipenv はパッケージをインストールし、プロジェクトのディレクトリに Pipfile を作成します。Pipfile は、依存関係を再インストールする必要がある場合に備えて、プロジェクトが必要とする依存関係を追跡するために使用されます。

  1. パッケージのアンインストール
pipenv uninstall <package>
  1. Python プロジェクトに関連付けられた仮想環境のアクティベート
pipenv shell
  1. 仮想環境の終了
exit

docs.pipenv.org で詳細情報とビデオを見つけてください。

Anaconda

Anaconda は Python パッケージを管理するためのもう一つの人気のあるツールです。

パッケージ、ノートブック、プロジェクト、環境が共有される場所。無料のパブリック conda パッケージホスティングのためのあなたの場所。

使用方法:

  1. 仮想環境の作成
conda create -n HelloWorld
  1. 仮想環境を使用するには、次のようにアクティベートします。
conda activate HelloWorld

ここでインストールされるものはすべてプロジェクト HelloWorld に固有のものになります。

  1. 仮想環境の終了
conda deactivate

UV

UV ドキュメントより

UV は、極めて高速な Python パッケージインストーラーおよびリゾルバーであり、pip および pip-tools ワークフローのドロップイン代替として設計されています。UV は pip よりも 10〜100 倍高速で、統合されたパッケージ管理、仮想環境作成、Python バージョン管理を提供します。

  1. UV のインストール
# curlを使用 (Linux/macOS)
curl -LsSf https://astral.sh/uv/install.sh | sh

# pipまたはpipxを使用
pip install uv
  1. 仮想環境を持つ新しいプロジェクトの作成
uv init my-project
cd my-project
  1. 依存関係の追加
uv add requests
  1. プロジェクト環境でのコマンドの実行
uv run python script.py
  1. 仮想環境の手動アクティベート (オプション)
source .venv/bin/activate  # Linux/macOS
.venv\Scripts\activate     # Windows

UV は、卓越した速度と利便性で、仮想環境、Python バージョン、および依存関係を自動的に管理します。

関連リンク