Pythonについて

この世には数多のプログラミング言語がありますが、ComfyUIは Python(パイソン) という言語で動いています。

ComfyUIを使いこなすためにPythonでプログラミングできる必要はまったくありません。 が、少しだけ用語を知っておくと、これから直面するエラー達と戦う気力が湧くかもしれません。


バージョン

「言語」にバージョンがあるのは少し不思議な感じがしますが、昭和に無かった言葉が令和の時代に生まれるように、Pythonもアップデートを重ねるごとに新しい機能や改善が加えられています。

基本的には下位互換性(古いコードも動くようにすること)を保つように設計されていますが、バージョンが上がると動かなくなるプログラムもあります。

  • 推奨バージョン
    • 現在、Pythonの最新版はどんどん進んでいますが、ComfyUIで安定して動作するのは 3.103.13の範囲です。

ライブラリ

ComfyUIで例えるのも変な話ですが、「ライブラリ」は カスタムノード みたいなものです。 Python本体には無い機能を追加したり、複雑な処理を簡単に書けるようにするための「拡張パーツ」ですね。

便利ではありますが、ライブラリが他のライブラリに依存していたり、Python本体とのバージョンが合わなかったりすると、 「何もしていないのに壊れた」 ような状態を引き起こすことがあります。 実際、ComfyUIで出会うエラーのほとんどはライブラリが原因です。

pip install

その「ライブラリ」をインストールするためのコマンドです。

pip install <ライブラリ>

例えば上記のように打つと、インターネットからライブラリをダウンロードしてインストールします。

仮想環境

Pythonの強みであり、同時にエラーの要因にもなりやすいのがライブラリでした。 入れれば入れるほど便利になりますが、そのぶん依存関係が複雑になり、エラーを引き起こす可能性も上がります。

そこで登場するのが 「仮想環境」 です。

何もせずにライブラリを入れるとPCにあるすべてのPythonプログラムに影響してしまいますが、ソフトウェアごとに「専用の部屋」に分けて管理することで、複雑な依存関係になるのを防ぐことができます。 しばしば登場する venv は、この仮想環境をつくる機能のひとつです。

ポータブル版

ポータブル版のComfyUIはちょっと特別です。 ComfyUI_windows_portable フォルダを覗いてみると、python_embeded というフォルダが入っています。

  • 手動インストール(venv): PCにPythonをインストールし、その中で仮想環境(部屋)を作る。
  • ポータブル版: Pythonそのものをフォルダ内に内蔵している。

いわば「家ごと持ってきている」ような構造です。 そのため、PC本体にPythonをインストールしていなくても動作しますし、USBメモリに入れて別のPCで起動すれば、そのまま動かすことができます。

🚨 注意点

「どこでも動く」といっても限界はあります。

    1. OSの壁: Windows向けのポータブル版は、LinuxやMacでは動きません。
    1. ハードウェアの壁: CUDA (NVIDIA) 向けに設定しているComfyUIは、NVIDIAのGPUがないPCでは動きません。
    1. 環境依存の壁: xformersFlashAttention などの特定のライブラリは、ドライバやハードウェア構成、パスに強く依存するため、他のPCに持っていくと動かないことが多いです。

あくまで「基本的なハードウェア構成やOSが同じなら動く」というレベルで捉えておきましょう。