Claudio Jolowicz :ハイパーモダン Python

作成日 : 2025-03-27
最終更新日 :

概要

副題は「信頼性の高いワークフローを構築するモダンテクニック」

感想

要再読である。

本書のサンプルコードや練習問題などは、原著 Webサイト https://github.com/hypermodern-python/ からダウンロードできる。

「Ⅰ部 インストールと環境」、「Ⅱ部 Python プロジェクト」、「Ⅲ部 テスト、静的解析、自動化」の3部からなる。

「1章 Python のインストール」を読んだが、私が使っている Anaconda の話題が出てこない。気になって索引を見たら、1.9 節で説明されていた。なんとまあ、せっかちな俺だ。

1.9 節を見ると、"Conda 自身を含むベース環境を準備する必要があります。"という記述がある。完全な Anaconda ディストリビューションをインストールする方法、Miniconda を使う方法に加え、Miniforge という第三の選択肢も紹介されている。俺は Windows で Anaconda ディストリビューションを使っているが、大きすぎる。一方、WSL2(Windows Subsystem for Linux 2)の Ubuntu 22.04 にはベース環境すら入っていない。この際、Windows でも Ubuntu でも、Miniforge に統一しようかな。

ということで、Windows も WSL2 の Ubuntu も Miniforge にして、どちらもなんとか稼働している。

「2章 Python 環境」を読んだ。まだ用語の整理ができていない。p.27 の図を見てみるとわかることは、 Python 全体はインタプリタとモジュールから構成されていること、モジュールには標準ライブラリとサードパーティーパッケージとがあることがわかる。 また、仮想環境では、インタプリタとモジュールのうちの標準ライブラリは既にインストールされた Python (親)と共有していて、 サードパーティパッケージのみが親とは独立していることがわかる。

2.3 では uv による環境の管理について述べられている。ix ページの訳者まえがきでは、 本書は Python によるハイパーモダンな開発手法やツールを紹介するのが主題ですが、新しい uv の台頭により、 本書で紹介するツールは少なくともハイパーモダンではなく、もはや古典であると言って過言ではありません。 とある。そうなのか。uv をもっと知らないといけないのか。大変だ。

「3章 Python パッケージ」を読んだ。用語でいえば、ここでパッケージの定義がある。 パッケージとは、プロジェクトのコードをまとめてプロジェクト名やバージョンなどのメタデータを同梱して単一のファイルにしたものです。 なるほど。ではたとえば、NumPy もパッケージなのかな。https://numpy.org/ja/ を見てみると、Pythonによる科学技術計算の基礎パッケージとあるから、 やはりパッケージだ。本書ではペッケージの作り方が解説されている。私は死ぬまで Python のパッケージを公開することはないだろうが、 せめて作ってはみたい。

4章以降は私には縁がないと思うが、いつかは役に立つときがくるのかもしれない。

書誌情報

書名 ハイパーモダン Python
著者 Claudio Jolowicz
訳者 嶋田健志・鈴木駿
発行日 2024 年 9 月 25 日 初版第1刷
発行所 オライリー・ジャパン
発売元 オーム社
定価 3400 円(税別)
サイズ A5 変形版
ISBN 978-4-8144-0092-8
その他 越谷市立図書館で借りて読む

まりんきょ学問所コンピュータの部屋コンピュータの本Python > Claudio Jolowicz:ハイパーモダン Python


MARUYAMA Satosi