coLinux日記

coLinuxはフリーソフトを種として、よろずのシステムとぞなれりける。

Raspberry Pi に Python 3.13.1 をインストールする。

2024-12-05 18:46:25 | Python
Python 3.13.1 がリリースされました。早速アップデートします。これで、Python 3.13 もメンテナンスリリースモードになりました。定期的にアップデートされていくと思います。

https://www.python.org/downloads/release/python-3131/ の冒頭は、以下のようです。

Python 3.13 は Python プログラミング言語の最新メジャー リリースであり、Python 3.12 と比較して多くの新機能と最適化が含まれています。 3.13.1 は最新のメンテナンス リリースで、3.13.0 以降の約 400 のバグ修正、ビルドの改善、ドキュメントの変更が含まれています。

早速ソースをダウンロードしましょう。

$ wget https://www.python.org/ftp/python/3.13.1/Python-3.13.1.tar.xz
$

$ md5sum Python-3.13.1.tar.xz;echo 80c16badb94ffe235280d4d9a099b8bc
80c16badb94ffe235280d4d9a099b8bc Python-3.13.1.tar.xz
80c16badb94ffe235280d4d9a099b8bc
$

$ wget https://www.python.org/ftp/python/3.13.1/Python-3.13.1.tar.xz.asc

$ gpg --verify Python-3.13.1.tar.xz.asc
gpg: assuming signed data in 'Python-3.13.1.tar.xz'
gpg: Signature made Tue 03 Dec 2024 19:06:34 GMT
gpg: using RSA key 7169605F62C751356D054A26A821E680E5FA6305
gpg: Good signature from "Thomas Wouters <thomas@python.org>" [unknown]
gpg: aka "Thomas Wouters <thomas@xs4all.nl>" [unknown]
gpg: aka "Thomas Wouters <twouters@google.com>" [unknown]
gpg: aka "Thomas Wouters <thomas.wouters.prive@gmail.com>" [unknown]
gpg: aka "Thomas Wouters <thomaswout@gmail.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 7169 605F 62C7 5135 6D05 4A26 A821 E680 E5FA 6305
$


12月3日にサインされています。3.13.0 の時と同じように make します。今回は time コマンドで時間を計ってみました。

$ tar xvf Python-3.13.1.tar.xz
$ cd Python-3.13.1/
$ ./configure --prefix=/usr/local/python --with-readline --enable-shared --enable-optimizations
..............................
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Misc/python.pc
config.status: creating Misc/python-embed.pc
config.status: creating Misc/python-config.sh
config.status: creating Modules/Setup.bootstrap
config.status: creating Modules/Setup.stdlib
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
configure: creating Modules/Setup.local
configure: creating Makefile
$
$ time make
........The necessary bits to build these optional modules were not found:
_dbm
To find the necessary bits, look in configure.ac and config.log.

Checked 112 modules (33 built-in, 77 shared, 1 n/a on linux-aarch64, 0 disabled, 1 missing, 0 failed on import)
make[1]: Leaving directory '/home/espiya/src/Python-3.13.1'

real 51m52.210s
user 49m17.303s
sys 1m36.002s
$


やはり、このRaspberry Pi では、52分くらいかかりますね。
一応、テストも行っておきます。

$ make test
........
21 tests skipped:
test.test_asyncio.test_windows_events
test.test_asyncio.test_windows_utils test.test_gdb.test_backtrace
test.test_gdb.test_cfunction test.test_gdb.test_cfunction_full
test.test_gdb.test_misc test.test_gdb.test_pretty_print
test_android test_dbm_ndbm test_devpoll test_free_threading
test_ioctl test_kqueue test_launcher test_msvcrt test_startfile

4 tests skipped (resource denied): test_winapi test_winconsoleio test_winreg test_winsound test_wmi

test_peg_generator test_tkinter test_ttk test_zipfile64

2 re-run tests:
test_trace test_zipfile

2 tests failed:
test_trace test_zipfile

451 tests OK.

Total duration: 13 min 28 sec
Total tests: run=44,581 failures=2 skipped=1,991
Total test files: run=476/478 failed=2 skipped=21 resource_denied=4 rerun=2
Result: FAILURE then FAILURE
make: *** [Makefile:2194: test] Error 2
$


test_zipfile の部分がエラーになっているところみたいです。
ほとんど問題なさそうなので、そのままインストールします。

$ make install

$
$ python3 --version
Python 3.13.1
$


通常の使い方では、これでよさそうです。
今までの経緯から推測して、おそらく2か月に一度くらいのアップデートがあって、現在テスト中の 3.14 を待つことになるようです。今後は 3.13.1 を使用します。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする