InvokeAI のエラー

InvokeAI には「 update.sh 」と言うそれこそ InvokeAI のシステムをアップデートするコマンドがある。日々更新されている StableDiffusion 関係のことなので、思い出したときにこのコマンドを実行している。で、今日実行したらエラーが発生して InvokeAI が起動できなくなった。

ライブラリが見つからない?

エラーとしては単純なもので、「 ModuleNotFoundError 」です。モジュールが見つからない。というものです。 Update するまでは読み込んでいたので、なぜ見つからないのかわかりません。しかし、見つからないと言っているので環境変数にモジュールの場所を書き込んでやればいいのかな?

簡単に解決するかと思ったら、モジュールの場所がわかりません。深い階層にあるようです。わからないので、 pip で再インストールするべく、コマンドを叩きました。当然ですが、すでにインストールされているよ。というメッセージが表示されて、モジュールの場所を教えてくれました。ありがたい。

さて、環境変数に書き込むわけですが、 $PATH に書き込むとなんとも保守性が悪くなります。沢山すでに書き込まれてるわけです。 Python 固有の環境変数もありそうなのでここでググりました。 $PYTHONPATH もうねそのままズバリの環境変数がありましたので、ここに書き込むことにしました。

OK 見つかった

$PYTHONPATH にライブラリのパスを書き込んで ( 私の環境ではこの環境変数は使われていませんでした ) 読み込ませて、 InvokeAI を実行。エラーは発生せず無事コマンドラインが表示されました。これまでは、「 invoke>」というプロンプトだったのが、「 ( 現在のモデル名 ) invoke>」に変わりました。私は頻繁にモデルを切り替えるので、この変更はありがたいですね。

version 2.3.0+a0 というのが新しいバージョンのようですが、 a0 が気になりますね。α版ってことなのかな。まぁ、すぐバージョンアップするでしょうから気にしないようにします。 StableDiffusion 本体は v2.1 に上がっていますが、このバージョンを起動しようとするとエラーになります。こちらはモジュール云々というようなエラーではなかったはずです。そもそも学習ファイルが V1 のプリフィックスになってますので InvokeAI は v2.1 にはまだ非対応なのかな。

最初に起動できたときに、ファイルの位置を変えたよ。というようなメッセージが出てました。いずれも深いところにあるファイルなので、私は無視しました。

サラッと書きましたが、半日がかりでした。いやぁ、起動しなくなったときには焦りました。

投稿者プロフィール

kaizawa
kaizawaブロガー
新潟県在住。1964年生まれ、東京オリンピックの年ですね。
突然燃え上がったり、鎮火したり興味の波が激しいので注意が必要です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


ノン・カテゴリ

前の記事

かがみの孤城