概要
Pythonの標準パッケージマネージャーであるpipが2026年4月26日にバージョン26.1をリリースした。最大の目玉は、PEP 751で標準化されたロックファイル形式「pylock.toml」の実験的サポートだ。pip lock datasette llm のようなコマンドで依存関係ツリー全体をTOML形式のロックファイルとして生成できるようになった。例えば datasette と llm の依存関係を解決すると519行の pylock.toml が生成される。このロックファイルは -r / --requirements オプションで通常の要件ファイルと同様に読み込むことができる。開発チームは「実験的機能であり、将来のバージョンで変更・廃止される可能性がある」と明記しており、フィードバックをイシュートラッカーで募っている。
依存関係クールダウン機能(--uploaded-prior-to)
新たに追加された --uploaded-prior-to オプションは「依存関係クールダウン」とも呼ばれ、指定した期間より前にアップロードされたパッケージバージョンのみを解決対象とする機能だ。ISO 8601の期間形式(日数のみ対応)で指定し、たとえば --uploaded-prior-to P4D を指定すると4日以上前にリリースされたバージョンのみが候補となる。これにより、リリース直後のパッケージに含まれる可能性のある不具合を避け、ある程度実績のあるバージョンを優先して取得できる。pip 26.1リリース告知記事の著者であるSimon Willisonは、自身のLLM v0.31(3日前リリース)に対してこのオプションを使用し、意図的により安定したv0.30を取得する実例を紹介している。
その他の変更点
pip 26.1ではPython 3.9のサポートが廃止された。Python 3.9は2025年10月にEOL(サポート終了)を迎えており、今回の廃止はそれに合わせた対応となる。そのほか、ピン留めされていない要件がconstraintsのハッシュを活用できるようになったほか、URLベースのconstraintsがextrasを持つ要件にも適用されるようになるなど、2020年の依存関係リゾルバー刷新以来の長年の制限がいくつか解消された。パフォーマンスとメモリ使用量の改善、バグ修正、セキュリティ改善も含まれている。
今後の展望
pylock.tomlはPoetryやuvといったサードパーティツールが独自形式で提供してきたロックファイル機能をPythonの標準エコシステムに取り込む試みであり、採用が広まればプロジェクト間の再現可能ビルドの互換性が向上することが期待される。実験的フラグが外れて安定化するまでにはさらなるコミュニティフィードバックと仕様の精査が必要となる見込みだ。