【Windows編】Pythonのバージョンをアップデートする方法
公開:
WindowsでPythonのバージョン(version)をアップデート(update)するコマンド
Windows Package Manager (winget) はMicrosoftが提供するコマンドラインツールであり、これを使用することによってソフトウェアの検索、インストール、アップグレード、削除をコマンドプロンプトやPowerShellから直接実行できます。winget upgrade Python.Python.3のようなコマンドを入力することによって、インストール済みのPython 3系を検出して最新安定版へのアップデート処理を開始させることが可能であり、手動でインストーラーをダウンロードして実行する手間を省けます。
【サンプルコード】
winget upgrade Python.Python.3
【実行結果】
見つかりました Python 3 [Python.Python.3] バージョン 3.12.3
このパッケージは、パッケージ所有者によってライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://www.python.org/ftp/python/3.12.3/python-3.12.3-amd64.exe
██████████████████████████████ 25.0 MB / 25.0 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
winget upgradeコマンドを実行する前に、winget search Python.Python.3コマンドを使用して現在wingetリポジトリで利用可能なPythonのバージョンを確認しておくと、どのバージョンにアップデートされるかを事前に把握できます。この確認手順を踏むことによって、意図しないバージョンへの更新を防ぎ、システム環境に適したPythonバージョンを選択するための情報が得られます。
Pythonのアップデートが完了した後、コマンドプロンプトまたはPowerShellでpython --versionコマンドを実行することによって、現在システムでアクティブになっているPythonのバージョン情報を表示させ、アップデートが正しく適用されたかを確認します。この最終確認を行うことによって、アップグレード処理が成功し、期待通りのバージョンが利用可能になっていることを確かめられます。
最新バージョンにアップグレード(upgrade)する場合、アンインストールは不要
Pythonの公式インストーラーは非常に洗練されており、新しいバージョンをインストールするプロセス中に、コンピューター内に存在する古いPythonバージョンを自動的に検出する機能を備えています。インストーラーは、検出した古いバージョンをアップグレード(上書き)するか、あるいは新しいバージョンを別ディレクトリにインストールして古いバージョンと共存させるかの選択肢をユーザーに提示するため、手動でのアンインストール作業は通常不要です。
【サンプルコード】
python --version
【実行結果】
Python 3.12.3
Windows Package Manager (winget) を用いてwinget upgrade Python.Python.3コマンドでPythonをアップグレードする場合においても、wingetがパッケージの依存関係や既存のインストール状態を管理し、適切にファイルを置き換えるため、事前に手動でアンインストールする操作は不要です。このコマンドを実行することによって、wingetはリポジトリから最新バージョンのPythonインストーラーを取得し、現在のインストール状況を考慮しながらスムーズにアップグレード処理を実行します。
複数の異なるPythonバージョンを開発プロジェクトや学習目的で意図的にコンピューター上に保持したい状況では、アンインストールせずに新しいバージョンを追加インストールする選択が有効となります。公式インストーラーのカスタムインストールオプションを利用するか、Pythonランチャー for Windows (`py.exe`) を活用することによって、コマンドラインからpy -3.11 script.pyやpy -3.12 script.pyのように実行バージョンを明確に指定し、異なるバージョン環境を使い分けることが可能です。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。




