requirements.txt 抽出:Jupyter ノートブックを数秒で pip 依存関係に変換
この抽出ツールは .ipynb を読み、コードセルにある import とシェルマジックのインストール行を走査し、クリーンな requirements.txt を pip install -r に渡せます。ブラウザにノートを置けば下にファイルが現れ、マシン外には出ません。誰かが共有したノートをローカルで動かしたいが、import をすべて手で追う時間がない, というよくある状況向けです。
単純な Python パーサでは取りこぼしが出がちですが、本ツールは import x、import a, b、import a as b、from x.y import z、さらに !pip install pandas、%pip install requests==2.31、!conda install -y numpy などを扱います。標準ライブラリは除外されるため os や json を誤ってピン留めしません。cv2 to opencv-python といったよくある別名は PyPI 名へマッピングされ、pip install -r がそのまま通ります。
pipreqs をローカルで回すより、ノート1件だけ確認する・まだディスクにプロジェクトがない・仮想環境を作る前に初期版 requirements.txt を同僚と共有したいときにこのページのほうが速い場合があります。pipreqs のあとに同じノートをここへ置いて一覧を眺め、push 前に pin を調整するチェックにもなります。
デフォルトでは、ノート内で !pip install pandas==2.2.1 のようにピンが書かれた箇所だけがピン留めされます。「インポート名をマッピング」が不要ならオフにして素のモジュール名を出し、「並べ替え」が不要なら出現順を維持し、「ヘッダー」が不要なら先頭コメントを省いて厳密なマシン可読のみにできます。

