UbuntuでのPiCockpitの回避策

注:これは進行中の作業であり、別の問題が発生したため、検討する必要があります。 現在のところ、picockpitはUbuntuでは動作しません、残念ながら。

あるユーザーがUbuntu for Raspberry PiにPiCockpitをインストールしようとしたところ、次のような問題が発生したと連絡がありました。

picockpit-client (2.0.1)のセットアップ ...
cp: cannot stat '/usr/bin/python3.7':No such file or directory
cp: cannot stat '/usr/bin/python3.7':そのようなファイルまたはディレクトリはありません。
警告:アップデート中に何らかのエラーが発生しました
/usr/share/picockpit-client/bin/python3
picockpit-client.serviceは、無効化されたユニットまたは静的ユニットであり、起動しません。
プラットフォームに依存しないライブラリが見つからない
プラットフォーム依存のライブラリが見つからない
$PYTHONHOMEを[:]に設定することを検討してください。
Fatal Python error: initfsencoding:ロケールのエンコーディングを取得できませんでした
ModuleNotFoundErrorです。encodings'という名前のモジュールがありません。

現在のスレッド 0xb6ef8970 (most recent call first):
bash: line 15: 28213 Aborted sudo picockpit-client connect -yes

この問題は、picockpit-clientがPythonバージョン3.7に依存していることが原因です。Ubuntu 20.04.1 LTSではPythonバージョン3.8です。

picockpit-clientのインストールを再実行する前に、次のコマンドを実行することで、この問題を回避することができます。

sudo ln -s /usr/bin/python3.8 /usr/bin/python3.7

これはかなり「汚い」回避策であることに注意してください。というのも、アプリケーションに対して、より新しいPythonバージョンが実際には古いバージョンであることを示唆するからです。Debian / Raspberry Pi OSパッケージの構築方法を変更することは、現在のところ少し難しいようです。Ubuntu上でPiCockpitが動作しないことについて、より多くのユーザーから問い合わせがあれば、さらに調査します。もしかしたら、別のパッケージになるかもしれません。

もしかしたら、setup.shスクリプトにシンボリックリンクのオプションを入れるかもしれません。

上記のコマンドを実行した後、ワンライナーを使ってPiCockpitをインストールすることができます。

bash -c "$(curl -k -s) https://picockpit.com/setup.sh)"

ここで、もう一つの問題、「ModuleNotFoundError:No module named 'picockpit-client'" - もし、さらにユーザーからPiCockpitをUbuntuで利用できるようにしてほしいという要望があれば、これを調査します。

コメントを残す