はじめに
WindowsにPythonの開発環境をインストールする方法についてまとめました。
Pythonの開発環境構築の方法は複数の方法があります。
本記事では、pyenv-winを使ってPythonをインストールする方法ついて解説します。
pyenvは複数のバージョンの Python を管理するための優れたツールです。
pyenv-winはWindows に移植したpyenvで、Windows環境で複数のPythonバージョンの管理を可能にし、異なるプロジェクト間でPythonのバージョンを柔軟に切り替えられるようにします。
※本記事の内容はWindows11 Pro 24H2で検証しています。
pyenv-win
pyenv-winを使ったPythonのインストールは、柔軟で管理がしやすい方法です。
pyenv-winを利用する主なメリットは以下の通りです:
- バージョン管理の柔軟性
- 複数のPythonバージョンを簡単に切り替え可能
- プロジェクトごとに異なるPythonバージョンを設定可能
- 環境の分離
- システム全体に影響を与えずに特定のバージョンを使用
- パッケージの依存関係の競合を防止
- 開発生産性の向上
- 新しいバージョンの迅速な試験
- レガシーコードと最新プロジェクトの並行開発が容易
- セットアップの簡素化
- 手動でのバージョン管理が不要
- 環境構築の時間とコストを削減
- クロスプラットフォーム互換性
- LinuxやmacOSの同等ツールと同様の操作性
- 開発環境の統一性を確保
これらのメリットにより、Pythonの開発環境管理が格段に効率化されます。
インストール方法
インストール方法はいくつかありますが、本記事はpyenv-winのGitHubサイトで説明されている複数の方法の中から、最も簡単とされているPowerShellを使う方法を紹介します。
PowerShell ターミナルで次のインストール コマンドを実行します。
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"
インストールされたpyenv-winのバージョンが表示されればインストール成功です。
本記事の執筆時点ではバージョン3.1.1がインストールされました。
次に、下記コマンドで環境変数 PYENV
, PYENV_HOM
, PYENV_ROOT
を設定します。
[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") [System.Environment]::SetEnvironmentVariable('PYENV_ROOT',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") [System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
次のPathを環境変数PATHを加します。
[System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
使い方
Pythonのインストール
インストール可能なPythonのバージョンを確認します。
以下のコマンドを実行します。
pyenv install -l
上のコマンドはすべてのバージョンがリストアップされますが、特定の文字が含まれるものをフィルタリングする方法があります。
上記のコマンドの出力をfindstr
コマンドに渡します。
次の例では”3.10”を含む項目のみを表示します。
pyenv install -l | findstr 3.10
特定のPythonをインストールするコマンドは次のとおりです。
pyenv install <version>
下の例ではバージョン"3.13.1"をインストールします。
pyenv install 3.13.1
1つのコマンドで複数のバージョンをインストールすることもできます。
この例ではバージョン"2.7.18"と"3.13.1"をインストールします。
pyenv install 2.7.18 3.13.1
これらのインストールコマンドでインストールしても、まだPythonを起動することができません。
globalバージョン、localバージョンのいずれかの指定が必要となります。
globalとlocal
- globalバージョン
globalバージョンは次のコマンドで指定します。
pyenv global <version>
例えば、
pyenv global 3.9.7
と設定すると、明示的に異なるバージョンを指定しない限り、システム全体で Python 3.9.7が使用されます。
- globalバージョンは、特定のプロジェクトやディレクトリに指定がない場合に使用されます。
- システム全体で使用されるデフォルトのPythonバージョンを設定します。
- localバージョン
localバージョンは次のコマンドで指定します。
pyenv local <version>
例えば、
pyenv local 3.9.7
と設定すると、このコマンドを実行したディレクトリとそのサブディレクトリで、Python3.9.7が優先的に使用されます。
- localバージョンは、特定のプロジェクトやディレクトリに対して設定するバージョンです。
.python-version
という隠しファイルがディレクトリに作成され、そのディレクトリのPythonバージョンを指定します。
優先順位は以下のようになります。
- localバージョン(最も優先度が高い)
- シェル環境で設定されたバージョン
- globalバージョン(最も優先度が低い)
この仕組みにより、異なるプロジェクト間で柔軟にPythonバージョンを管理できます。各プロジェクトの依存関係や要件に応じて、最適なPythonバージョンを簡単に切り替えることができます。
上記コマンドは、あらかじめ指定するバージョンのPythonをインストールしておく必要があります。
rehash
pip を使用してライブラリをインストール、アンインストールした後、または、特定のPythonバージョンのフォルダー内のファイルを変更した後にrehashオプションを使って、それらをシステムで認識させる必要があります。
下の様に、rehashオプションを実行します。
# Pythonパッケージをインストールした後に実行 pip install <some-package> pyenv rehash
# 新しいPythonバージョンをインストールした後 pyenv install 3.9.7 pyenv rehash
また、pipで新しくインストールしたライブラリやpyenvで新しいPythonのバージョンが認識されない場合にも、rehashオプションを実行してみてください。
Pythonバージョンを切り替えた後に、Pythonバージョンの確認は次のコマンドを使用します。
python --version
Pythonのアンインストール
特定のバージョンのPythonをアンイストールする場合、次のコマンドを使用します。
pyenv uninstall <version>
下の例ではバージョン"3.13.1"をアンインストールします。
pyenv uninstall 3.13.1
インストールされているPythonのバージョンを確認
システムにインストールされているPythonバージョンと現在のアクティブなバージョンは、次のコマンドで確認することができます。
pyenv versions
実行すると、
- インストール済みのPythonバージョンの一覧
- 現在アクティブな(選択されている)バージョン
が表示されます。
* 3.9.7 (set by C:\Users\YourUsername\.pyenv\pyenv-win\version) 3.8.5 3.10.2
表示された内容は、次の意味を表しています。
*
マークは現在のグローバルまたはローカルで選択されているバージョンを示します- リストされている各バージョンは、pyenv-winを通じてインストールされたPythonのバージョンです
- カッコ内の情報は、そのバージョンがどのように設定されたかを示しています
おわりに
pyenv-winは、Windowsでのマルチバージョンのpython管理を簡単にするツールです。
プロジェクトごとに異なるPythonバージョンを使用したい場合に非常に便利です。
下の記事ではMicrosoft StoreからPythonをインストールする方法をしています。
本記事と合わせて確認していただくことをおすすめします。
自分にあったインストール方法を選択する参考にしていただければと思います。
最後までご覧頂きありがとうございました。
(広告)Python関連書籍をAmazonで探す参考リンク
pyenv-win
pyenv for Windows. pyenv is a simple python version management tool. It lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.