1
1

【2024年01月版】pyenv と venv の使い分け 【python】

Last updated at Posted at 2024-02-05

はじめに

pyenvvenv の使い分けを質問された時の回答メモ。

概要

pyenvvenvは、Pythonのバージョン管理と仮想環境管理に使われるツール。
主な目的と機能は、pyenvvenvで異なる。

pyenv

  • 主な目的
    Pythonのバージョン管理
  • 機能
    複数のPythonバージョンをインストールし、プロジェクトごとに異なるPythonバージョンを簡単に切り替えることができる
  • 使用シチュエーション
    異なるプロジェクトで異なるPythonバージョンを使用する必要がある場合等

venv

  • 主な目的
    Pythonの仮想環境管理
  • 機能
    Pythonの標準ライブラリに含まれているツールで、プロジェクトごとに独立したPython環境を作成し、プロジェクトの依存関係を他のプロジェクトと分離できる
  • 使用シチュエーション
    特定のプロジェクトの依存関係を管理し、その依存関係がシステム全体や他のプロジェクトに影響を与えないようにしたい場合

シチュエーション例

異なるPythonバージョンでの開発を行う場合

  • シチュエーション
    • 複数のプロジェクトを持っており、それぞれ異なるPythonバージョンで動作させる必要がある
  • 選択
    • pyenv を使用して、プロジェクトごとに異なるPythonバージョンを切り替えて開発を行う

プロジェクト固有の依存関係管理

  • シチュエーション
    • あるプロジェクトに特定のパッケージのバージョンが必要で、これが他のプロジェクトやシステム全体に影響を与えないようにしたい場合
  • 選択
    • venv を使用して、そのプロジェクト専用の仮想環境を作成し、そこに必要なパッケージとバージョンのインストールを行う

組み合わせて使用:

  • シチュエーション
    • 特定のPythonバージョンで新しいプロジェクトを開始し、そのプロジェクトの依存関係を完全に分離したい場合
  • 選択
    • pyenv で必要なPythonバージョンをインストールし、そのバージョンで venv を使用して新しい仮想環境を作成する

さいごに

かんたんでしたね

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1