プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

pyenv を 2.3.18 から 2.4.22 へアップデート

pyenv でインストールできる python のバージョンを表示してみると

mor@DESKTOP-DE7IL4F:~$ pyenv install --list
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4.0
(略)
  3.11.4
  3.12.0b2
  3.12-dev
  3.13-dev
  activepython-2.7.14
(略)

となり、 python 3.13 が一覧に出てこない。

同じことに困っている人はいるようで、

pyenvのlistが更新されない時 #pyenv - Qiita

こちらの記事をみると、 pyenv のアップデートをする必要があるっぽい。なので、やってみます。

アップデート

今の pyenv は こちらの記事にあるように git clone でインストールしたもので、バージョンは

mor@DESKTOP-DE7IL4F:~$ pyenv -v
pyenv 2.3.18-9-ge0084304

です。どうも、作業時の最新版を入れたのであって、リリースのタグを入れたんじゃなかったんですね。

なので、こちらの公式の upgrading の手順に従って、

mor@DESKTOP-DE7IL4F:~$ cd .pyenv/
mor@DESKTOP-DE7IL4F:~/.pyenv$ git fetch
remote: Enumerating objects: 1587, done.
remote: Counting objects: 100% (871/871), done.
remote: Compressing objects: 100% (170/170), done.
remote: Total 1587 (delta 749), reused 774 (delta 690), pack-reused 716 (from 1)
Receiving objects: 100% (1587/1587), 961.16 KiB | 2.13 MiB/s, done.
Resolving deltas: 100% (990/990), completed with 80 local objects.
From https://github.com/pyenv/pyenv
   e0084304..d04a081d  master     -> origin/master
 * [new tag]           v2.4.22    -> v2.4.22
 * [new tag]           2.3.30     -> 2.3.30

tag を確認します。

mor@DESKTOP-DE7IL4F:~/.pyenv$ git tag
1.2.24
1.2.24.1
(略)
v2.4.21
v2.4.22
v2.4.3
(略)

一番最新が v2.4.22 なので、それに切り替えます。

mor@DESKTOP-DE7IL4F:~/.pyenv$ git checkout v2.4.22
Note: switching to 'v2.4.22'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at d04a081d 2.4.22
mor@DESKTOP-DE7IL4F:~/.pyenv$

問題なさそうですね。

確認

pyenv のバージョン

mor@DESKTOP-DE7IL4F:~$ pyenv --version
pyenv 2.4.22
mor@DESKTOP-DE7IL4F:~$

新しくなってますね。インストールできる python のバージョンも確認します。

mor@DESKTOP-DE7IL4F:~$ pyenv install --list
Available versions:
  2.1.3
(略)
  3.11.4
  3.11.5
  3.11.6
  3.11.7
  3.11.8
  3.11.9
  3.11.10
  3.11.11
  3.12.0
  3.12-dev
  3.12.1
  3.12.2
  3.12.3
  3.12.4
  3.12.5
  3.12.6
  3.12.7
  3.12.8
  3.13.0
  3.13.0t
  3.13-dev
  3.13t-dev
  3.13.1
  3.13.1t
  3.14.0a2
  3.14.0a2t
  3.14-dev
  3.14t-dev
  activepython-2.7.14
(略)

増えてますね。これで、新しめの python をインストールできます。

mor@DESKTOP-DE7IL4F:~$ pyenv install 3.13.1
Downloading Python-3.13.1.tar.xz...
-> https://www.python.org/ftp/python/3.13.1/Python-3.13.1.tar.xz
Installing Python-3.13.1...
Installed Python-3.13.1 to /home/mor/.pyenv/versions/3.13.1
mor@DESKTOP-DE7IL4F:~$

できました。今インストールしているバージョンを確認すると

mor@DESKTOP-DE7IL4F:~$ pyenv versions
* system (set by /home/mor/.pyenv/version)
  3.11.4
  3.13.1
mor@DESKTOP-DE7IL4F:~$

入ってますね。

余談

pyenv のインストールを git clone でやったんですが、 pyenv-installer というのを使えば、簡単にインストールができたようです。

pyenvを一発でインストールする方法 - kumilog.net

別段、このままでも困らないといえば困らないのですが、 pyenv-installer のほうがアップデートも簡単にできるので、こちらに切り替えられなかな?と考えています。

そのうち試そうかな。