nikkie-ftnextの日記

イベントレポートや読書メモを発信

聞いて聞いて! 5/25(土)に鹿児島で開催の PyCon Kyushu 2024 に登壇します #PyConK

はじめに

宮尾美也さん、お誕生日おめでとうございました! nikkieです

タイトルが全てエントリです。
2022年に引き続き、PyCon Kyushuでお話ししちゃいます!

目次

PyCon Kyushu 2024 KAGOSHIMA

PyCon Kyushuは、プログラミング言語 Pythonのユーザが集う九州地区で開催される技術カンファレンスです。

キーノートは鹿児島大学の渕田孝康教授!

タイムテーブルが公開されていて、2トラック!
https://kyushu.pycon.jp/2024/?param=TimeTable

  • 1トラックは初級
  • もう1トラックは中級 or 上級

という感じです。
いろいろなトークが集まっていますね。

お申し込み:

私のトーク「venvによるPython開発環境の管理をpip-toolsでアップデートする提案 〜Ryeのソースリーディングより〜」

Python標準ライブラリvenvの小さな課題を解消できるツールpip-toolsを紹介していきます。
そもそもライブラリをインストールするとはどういうことか、仮想環境とはなにかから始めて、どんな課題があり、それを解消するためにどんなツールが登場し(続け)ているかという点をお伝えできればと思います

プロポーザルを公開します。

「上級」に込めた想い

Python開発における依存ライブラリのバージョン管理について 掘り下げて考えてみたい 方・一家言ある方
(これを知らなくても開発はでき、万人が知るべき事項と思っていないので、レベルを上げています)

発表のモチベーション

RyeというRust製のPythonパッケージマネージャーが昨今存在感を増しています(期待が過度に膨れ上がっている感もあります)。
無視はできないと感じ、中身を理解しようとRustの実装(2024年1月時点)を覗き始めたところ、virtualenvといくつかのツールを組み合わせていました。
そこで、「virtualenvから生まれた標準ライブラリvenvにも活かせる要素はあるのではないか」と思われる点を共有していきます。
※この発表ではRyeについては動作の解説にとどめます。採用するかは各自で判断ください(私も意見はあるので、ぜひ廊下で話しましょう)

タイムライン

「はじめに」と「まとめ」で5分

Pythonのパッケージ管理の基本をおさえる(8分)

  • パッケージをインストールするとは
  • PyPIとは
  • インストールしたパッケージはPCのどこにあるのか
  • (手短に)pip installしたパッケージがimportできる仕組み
  • 仮想環境とは
  • なぜ仮想環境が必要なのか
  • 仮想環境の仕組み
  • pip freezeによる環境の再現
  • この方法はPythonチュートリアルに載っているけれど、小さな課題もある(私のライブラリが依存しているライブラリが依存しているライブラリのバージョン)

pip-toolsの提案(9分)

  • 上記の課題をどう解決するか
  • pip-compileコマンド
  • pip-syncコマンド
  • (手短に)pip-compile-multi
  • pipxの紹介(pip-toolsはvenvにインストールしなくてもいいのではないか)
  • pip-toolsを使っている自分の公開リポジトリの例

ごくごく簡単にRyeの依存ライブラリ管理の実装を紹介(3分)

  • Ryeの仮想環境にはpipがない
  • pipがない環境でpip-toolsを使っている

話さないこと

  • Ryeの全体的な使い方
  • RyeがサポートをはじめたRust製のpip(uv)についても盛り込めないと思います
  • Poetry・Pipenvなどの他のツールについて(どのツールでも中心にあるvenvをメインに話します)

これまでに積んできた記事

終わりに

5/25(土)に鹿児島で、Python開発環境についてpip-toolsをキーにお話しします。
プロポーザルを投稿した直後からRyeやuvは大きく状況が変わり、どんなトークになるか発表者自身もワクワクしています。

鹿児島で僕と握手!
桜島、中ニ戀と麻衣さん(青ブタ)な気がするな〜

(追加 2024/04/28)トーク紹介、ありがとうございます!