nikkie-ftnextの日記

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

登壇報告 | 鹿児島の地で仮想環境と合わせてpip-toolsを使うことやRyeの仕組みについてデモを交えて話しました #PyConK

はじめに

鹿児島への旅で出会った皆さま、ありがとうございました!
nikkieです。

タイトルが全てな登壇報告です。

目次

PyCon Kyushu 2024 KAGOSHIMA

5/25(土)鹿児島開催

参加者110名!👏

雰囲気はこちらからどうぞ

発表「venvによるPython開発環境の管理をpip-toolsでアップデートする提案」

サイトのタイムテーブルより

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

登壇予告(プロポーザルを公開しました)

資料はこちら

13:00からの2本はそれぞれの部屋の中で連続していたようです。
ルームAは生成AI、ルームBはパッケージ。
続くaodagさんのトークも興味深かったです。

裏話:デモを入れました

ちょっと今回は発表準備開始が最終責任時点を超過していたきらいがあり1、だいぶ地獄を見ました。
本格的に作り始めたのは前日金曜日の18時(移動中ドキュメントを読むなど材料は集めています)

大方形にして発表練習をし、翌日朝に推敲、会場到着は10:15くらい。
AMのセッションの後90分のお昼があったのですが、そこも準備に当てました。
その中で発表練習の感覚+地獄の幻覚で「伝えるためにデモを入れよう」と降ってきます。

  • pip-toolsのデモ:directな依存パッケージの指定を変えたら、pip-compileが生成するrequirements.txtの内容も変わる(+pip-syncで仮想環境を同期)
  • Ryeの仕組みのデモ:pipのない仮想環境にpip installする仕組み

デモはぶっつけ本番なのでヒリヒリしましたが、pip-toolsのデモでrequirements.txtが書き換わったときに「おお〜」というリアクションをいただけて、楽しく話せました。

PyCon KyushuのYouTubeチャンネルにアーカイブが上がるそうですので、気になる方はチャンネル登録してお待ちください!(通知が来るはず)

終わりに

PyCon Kyushu 2024でRyeのソースを読んで得た知見、主にpip-toolsをデモも交えてお話ししました。
ご清聴いただき、ありがとうございました!

pip-tools、よかったら使ってみてください。
インストールしてからpip freeze > requirements.txtチュートリアルの方法)より、directな依存を指定してpip-toolsがrequirements.txtを作ってくれるのはかしこい点が多いと思います。

ぶっつけのデモがなんとかなったのは、金曜の夕方に定食を食べたさつままんまるさんで、火打ち2で送り出していただいたおかげな気がします。ありがとうございました

P.S. requestsのバージョンを上げましょう

pip-toolsのワークフローの例として、requestsのアップデートを取り上げました。
Severity Moderateの脆弱性が見つかり、2.32.0以上で修正されています。

requestsって使っているライブラリが多いので、かなり多くのプロジェクトでtransitiveな依存なんじゃないかと思います。
アップデートはお早めに3


  1. LLMのファインチューニングが面白すぎまして
  2. 鬼滅の刃でもありましたよね
  3. 該当スライドへのリンク https://ftnext.github.io/2024-slides/pyconkyushu/virtual-environment-with-pip-tools.html#/13/1