【 Python 】バージョン管理 pyenv の使い方!

python

■ 主の PC環境一覧

OS:Windows11
CPU:Intel® Core™ i9 13900KF
Memory:64GB
GPU:NVIDIA® GeForce RTX™ 3070 8GB

■ pyenv とは?

「pyenv」とは、Pythonのバージョン管理ツールであり、異なるPythonバージョンを簡単に切り替えることができるツールです。
開発環境やプロジェクトごとに必要なPythonバージョンを独立して管理でき、環境の切り替えが容易になります。
例えば、Python 2系と 3系を切り分けて使いたい場合でも、pyenvを使用すれば一つのシステム内で両方のバージョンを管理できます。
これにより、Pythonのバージョンによる互換性の問題を簡単に解決することができます。

■ インストール方法

以下 4つの中から、お好きなインストールで OK!

  1. pip
  2. zip
  3. Git
  4. Chocolatey

「pip」を使用したインストール手順

※ pipが既にインストールされていることを確認してください。

$ pip -V

# バージョンが表示されていれば OK
pip 20.2.3 from c:\xxxxx\xxxxx
[1] pip アップグレード

アップデートしなくても問題はないが、pipコマンド実行後に警告が出るため。(管理者権限にて実行)

$ pip install --upgrade pip
[2] pyenv インストール
コマンドプロンプトで実行する場合
$ pip install pyenv-win --target %USERPROFILE%\.pyenv
PowerShellまたは GitBashで実行する場合
$ pip install pyenv-win --target $HOME\\.pyenv

インストール手順 完了後「■ pyenv セットアップ」へ進む


「zip」を使用したインストール手順

[1] zipファイルをダウンロード

以下 GitHubのリポジトリから zipファイルをダウンロード

[2] ダウンロードした zipファイルを配置

2.1. ユーザーディレクトリ(C:\Users\<username>)内に「.pyenv」フォルダを作成
2.2. 作成した .pyenvフォルダに、「1」でダウンロードした zipファイルを移動し解凍

インストール手順 完了後「■ pyenv セットアップ」へ進む


「Git」を使用したインストール手順

[1] Cloneコマンドを実行

任意の場所で GitBashを起動し、以下 Gitコマンドを実行

$ git clone https://github.com/pyenv-win/pyenv-win.git "$HOME/.pyenv"

インストール手順 完了後「■ pyenv セットアップ」へ進む


「Chocolatey」を使用したインストール手順

[1] chocoコマンドを実行

任意の場所で chocoコマンドを実行
※ 環境変数など全てのセットアップを行ってくれるため、本手順を採用する場合は終了

$ choco install pyenv-win

■ pyenv セットアップ

本操作は、上記手順で「Chocolatey」以外 を採用された方のみの操作となります。

pyenvの環境変数を設定

※ システム環境変数から設定しても良いが、コマンド実行の方が早いので省略

PowerShellを 管理者権限 で開いて以下のコマンドを順に実行

# 「PYENV」という環境変数を設定
$ [System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")

# 「PYENV_HOME」という環境変数を設定
$ [System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")

pathを通す(パスを設定)

PowerShellを開いて以下のコマンドを実行

$ [System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")

pyenvが使用できるかを確認

PowerShellを開いて以下のコマンドを実行

$ pyenv --version

# バージョンが表示されていれば OK
pyenv 3.1.1

■ pyenvの使い方

インストール可能な Pythonのバージョンを確認

$ pyenv install -l

# Pythonのバージョンが表示されていれば OK
2.4-win32
2.4.1-win32
2.4.2-win32
2.4.3c1-win32
--- 省略 ---
2.7.18-win32
2.7.18
3.0a1-win32
3.0a1
3.0a2
3.0a3-win32
--- 省略 ---
3.12.0a7-win32
3.12.0a7

任意の Pythonのバージョンをインストール

$ pyenv install 3.11.2

この段階では、pyenvにて使用することができる Pythonのバージョンをインストールしただけで、インタープリターとして設定された訳ではない。

指定する Pythonのバージョンで仮想環境を作成

任意のディレクトリへ移動しコマンドプロンプト(または PowerShell)を起動し、以下のコマンドを実行
実行完了後に「.python-version」のファイルが生成されていれば成功

$ pyenv local 3.11.2

ここで言う「仮想環境」とは、上記で作成した「.python-version」配下の Pythonのバージョンを指定するものであり、これを 仮想環境 と表現するのだが変に混乱しそう。

要約すると「.python-version」配下では、「$ pyenv local 3.11.2」でインストール及び設定した Pythonのバージョンが適応されますよ ってことです。

■ メモ

Pythonのバージョンの global設定

$ pyenv global 3.11.2

現在インストールされている Pythonのバージョンを確認

$ pyenv versions

現在の Pythonのバージョンを確認

$ python -V

■ ところで venvって?

comment 📝

タイトルとURLをコピーしました