python のバージョンを上げたい

Python

以前、ルート権限がない環境でpythonの開発環境を作成しました。

今回は、サーバーと仮想環境におけるpythonのバージョンアップを行います。
サーバーのバージョンアップを行ってから、仮想環境のバージョンアップを行います。

サーバーのバージョンアップを行う

パッケージ管理が可能なRye(https://rye-up.com/)を利用して、pythonのバージョンアップを行います。

curl -sSf https://rye-up.com/get | bash

パスを設定する

設定ファイルにパスを追加します。

echo 'source "$HOME/.rye/env"' >> ~/.bashrc

最終行にパスが追加されていることを確認します。もし、最終行に追加されていない場合は、手動で編集します。

追加した設定を反映し、pythonのバージョンを確認します。

source "$HOME/.rye/env"
python -V

venvのバージョンアップを行う

pipなしで仮想環境のバージョンアップを行い、pythonのバージョンを確認します。

python -m venv --without-pip --upgrade {仮想環境名}
source {仮想環境名}/bin/activate
python -V

pythonのバージョンが古い場合は、シンボリックリンクが旧バージョンを向いている可能性があるため、シンボリックリンクを確認します。

cd {仮想環境名}/bin
ls -l python*

python3.12 が Rye でインストールしたpython、python/python3などがpython3.12にリンクされているかどうか確認します。
※2024/5/5時点では python3.12 が最新版です。

lrwxrwxrwx    xxxxx  zzzzz  5月 5 12:00  python -> python3.12
lrwxrwxrwx    xxxxx  zzzzz  5月 5 12:00  python3 -> python3.12
lrwxrwxrwx    xxxxx  zzzzz  5月 5 12:00  python3.12 -> {$HOME}/.rye/py/cpython@3.12.3/bin/python3.12

リンクされていないようならば、シンボリックリンクを更新します。

ln -si python3.12  python
ln -si python3.12  python3
ln -si {$HOME}/.rye/py/cpython\@3.12.3/bin/python3.12  python3.12

再度pythonのバージョンを確認し、新しいバージョンが表示されたならばOKです。

バージョンを切り替える場合は、切り替えたいバージョンを指定します。

rye pin 3.11

Ryeでサポートされているのは、Python 3.9 から 3.12 です。

venvのバージョンアップができない

venvのバージョンアップが上手くできない場合、再度仮想環境を作成すれば、新しいバージョンで仮想環境が作成できます。

(venvのpythonのバージョンを最新化しようとした結果、レンタルサーバーのpythonバージョンを上げられることを知りました。)

コメント