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 にはまだ非対応なのかな。
最初に起動できたときに、ファイルの位置を変えたよ。というようなメッセージが出てました。いずれも深いところにあるファイルなので、私は無視しました。
サラッと書きましたが、半日がかりでした。いやぁ、起動しなくなったときには焦りました。
投稿者プロフィール
最新の投稿
- ノン・カテゴリ2024年12月12日来年の色は「 Mocha Mousse 」
- Tech2024年11月28日ChromeOS flex を古いノートにインストール
- Linux2024年11月16日Ubuntu で外付け SSD の容量が違って見える
- Linux2024年11月13日Windows インストールできず。 Ubuntu に変更