メインコンテンツへスキップ
見出し画像

Python3.13対応のPaperspace用のコンテナ作成をした話

    比較的最近になってComfyUIがPython3.13のサポートが進んでいます。
    ということで、Paperspace用のコンテナもpython3.13にアップデートしないとな・・・・と思い腰を上げ始めました。

    8/24に上記のようにComfyUIのReadmeがアップデートされています。

    画像

    「Python 3.13へのサポートがかなり進んできている」という内容です。

    上の記事では、「そんなこと言っても、有名なカスタムノードが対応していないんですけど!!!nunchakuとか」とコメントもあります。

    なぜpython3.13なのか?


    とか思ってしまう自分もいたので、DeepResearchとかした内容からは、

    「毎年更新されるから」


    に集約されるかと思いました。

    バージョンが上がると、当然ながら性能が高くなります。
    インフォグラフィックで見ると以下のような感じです。

    画像

    Python 3.13だとJITコンパイラというのが高速化に寄与するのではとのことでした。

    画像

    以下はPythonのバージョンによる互換性の部分になります。
    Pythonのバージョンが上がった後に、もろもろ他のものが対応していくという流れになっているため、互換性がないものが発生するということの様です。

    画像

    Pythonバージョンのリリース日

    Python 3.10は2021年10月4日
    Python 3.11は2022年10月24日
    Python 3.12は2023年10月2日
    Python 3.13は2024年10月7日
    Python 3.14は、今年の10月に正式リリースされるようです。

    2025年10月に正式版が公開されるPython 3.14について紹介します - Python学習チャンネル by PyQ

    ということで、来年の今頃は「Python 3.14対応」とかになっていくのでしょうか・・・・

    バージョンアップに合わせて、高速化技術などがブラッシュアップされるようなので、速度を期待する場合はPythonのバージョンも上げていくという選択肢が出てくるという印象です。

    Python 3.13に合わせた動き

    GJLさんの記事では、すでにPython3.13に対応したカスタムノードの修正記事をいくつか出されています。
    Impact Packに影響が出るのは痛すぎる・・・・
    でも、Itrdataさんがやっているからなんとかしてほしい・・・・
    ltdrdata/ComfyUI-Impact-Pack: Custom nodes pack for ComfyUI This custom node helps to conveniently enhance images through Detector, Detailer, Upscaler, Pipe, and more.

    GJLさんは、結構前の記事でComfyUIが3.13に舵を切ったから対応せねば・・・という内容のコメントをされていて(どの記事か忘れてしまいリンク出せませんが)、ComfyUIの発表を受けて一気に対応を進めておられます。

    以下、よく使いそうなものも対応スクリプトを公開されています。

    Paperspace用のコンテナの内容


    ①プレインストールしているPythonパッケージを最小限にしています。
    互換性のリスクを低減目的
    ②cuda12.9を採用
    ③ComfyUIの起動は確認

    画像

    コンテナ名

    shibashiba2/paperspace-gradient-base-py313-pytorch2.8.0:v4.0

    ここまでたどり着くのに結構かかってしまいました。
    Geminiとかの案をそのまま採用してしまいコンテナの起動に失敗すると、Dockerイメージのビルドやpushの時間がかかるため、再検証までのサイクルが長いため、うまくいかない時のダメージが大きいです。
    当初はllama-cpp-pythonとflashattentionのwheelを使う予定でしたが、12.8にフォールバックされる事象が起きたためとりあえず外しています。
    v4.0というのはそれまでは失敗したということです。

    ちなみに、このコンテナを最初に起動するまでは結構時間がかかることが多い印象です。2回目からは比較的スムーズになるかと思います。

    現時点では、flashattentionとかllama-cpp-pythonとかsageattentionも入っていないため、使いにくいので、検証とかを含めたリポジトリという感じでしょうか。

    <追記>


    おそらくPaperspaceを使用されている方で頻繁に起きそうなことですが、「ipynb使いまわし」についてコメントしておきます。

    Pythonのバージョンが違うと、「Load error」となって使いまわしが出来なくなる場合が経験されるかと思います。

    あたらしいものに作り直すのも良いですが、使いまわす際にipynbファイルを修正するとこのエラーを回避できます。

    メモ帳などでipynbファイルを開いて、一番下にスクロールします。

    画像

    この赤枠のversionを書き換えれば読み込んでくれます。
    私が作成したやつだと、「3.13.7」です。

    また、pythonのパッケージが不足していたため、wgetとか使えなかったので、追加でインストールする必要がありました。
    以下のコマンド例:-qqはログを出さないようにするため

    !apt-get -qq update
    !apt-get install -y -qq wget unzip vim nano iputils-ping sudo git-lfs jq rsync unrar htop awscli
     
     
    Stablediffusionで、Ai画像を作成するのを趣味にしています。ComfyUI、paperspace絡みの記事などを興味のある範囲で作成しています。

    あなたへのおすすめ