💜

Ryeを使ってPythonバージョンを管理する方法(ローカルにインストールされたPythonを流用)

2024/04/17に公開

概要

Pythonのバージョン管理ツールRyeを使っているときに、Python3.8を使いたかったんですが、Python3.8がインストールされてなかったのでインストールする方法を解説します。
公式サイトからPython3.8をダウンロードしてきて、それをRyeで流用する方法になります。

こちらの記事で紹介したfetchコマンドで任意のPythonをダウンロードしてくる方が圧倒的に楽なので、特段理由がなければ、fetchの方をおすすめします。

環境

MacBook Pro(MacOS: Ventura)

前提

Ryeがローカルで動作する状態になっていることを前提とします。

手順

Ryeで管理しているPythonのバージョンを確認する

$ rye toolchain list 

cpython@3.12.0 (/Users/ユーザー名/.rye/py/cpython@3.12.0/install/bin/python3)
cpython@3.11.3 (/Users/ユーザー名/.rye/py/cpython@3.11.3/install/bin/python3)
cpython@3.10.13 (/Users/ユーザー名/.rye/py/cpython@3.10.13/install/bin/python3)

まずはRyeで管理しているPythonのバージョンを確認してみます。
Python3.8がありません。

Python3.8をインストールしてくる

https://www.python.org/downloads/macos/
上記URLからPython3.8をローカルにインストールします。

インストールが完了すると、/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8配下にPython3.8があると思います。

$ /Library/Frameworks/Python.framework/Versions/3.8/bin/python3 -V

Python 3.8.10

試しにバージョン確認してみると、無事Python3.8が動きました。

RyeにインストールしたPython3.8を登録する

https://rye-up.com/guide/commands/toolchain/register/

RyeにインストールしたPython3.8を登録します。

$ rye toolchain register /Library/Frameworks/Python.framework/Versions/3.8/bin/python3

$ rye toolchain list
cpython@3.12.0 (/Users/ユーザー名/.rye/py/cpython@3.12.0/install/bin/python3)
cpython@3.11.3 (/Users/ユーザー名/.rye/py/cpython@3.11.3/install/bin/python3)
cpython@3.10.13 (/Users/ユーザー名/.rye/py/cpython@3.10.13/install/bin/python3)
cpython@3.8.10 (/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8)

Python3.8が登録されていることが確認できました。
これでRyeでPython3.8を扱えますね。

RyeでPython3.8が動くか確認してみる

実際に動くか確認してみます。
確認が必要ない方は読み飛ばしても大丈夫です。

$ mkdir rye-test
$ cd rye-test

任意のプロジェクトでディレクトリ作成

$ rye init 

このコマンドで.python-versionが作成されているはずなので、そのファイルのPythonのバージョンを3.8に変更します。

.python-version
3.8.10

$ rye run python --version                                                   
Initializing new virtualenv in /Users/ユーザー名/rye-test/.venv
Python version: cpython@3.8.10
Python 3.8.10

バージョンを確認すると、無事Python 3.8が動作していることが確認できました。

おわりに

この記事では、Ryeを使用して特定のPythonバージョン、今回はPython3.8を管理するプロセスを紹介しました。Ryeの強力なバージョン管理機能を活用することで、プロジェクトごとに異なるPython環境を効率的に扱うことができます。これにより、開発の柔軟性が向上し、異なるライブラリ依存関係を持つ複数のプロジェクトを同時に進行させることが可能になります。

本記事がPythonのバージョン管理における課題に直面している方々に役立つ情報を提供できたなら幸いです。Ryeを用いたバージョン管理は、初めての方でも簡単に始めることができ、より効果的な開発環境構築へと繋がります。是非この方法を試し、あなたのPythonプロジェクト管理に活かしてみてください。

Discussion