大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

Pythonのバージョン追加でトラブル

株式会社クローバーフィールドの経営理念
著者:津路高広
公開日:2022/03/24
最終更新日:2022/03/24
カテゴリー:技術情報
タグ:

こんにちは、津路です。

1か月以上前からですが、Microsoft Azure IotEdgeサービスを利用して、カメラからの画像を認識できないかと取り組んでいます。
https://github.com/Azure-Samples/Custom-vision-service-iot-edge-raspberry-pi
上記のリポジトリをcloneして、Raspberry Pi 3B+ Stretchにて運用するため、環境を整えました。

しかし、ビルドしたStretch向けPython3.7のDocker Imageを運用しようとしても、ライブラリファイルが見つからないというエラーがいくつも出ていました。
いくつかは、requirements.txtやdeployment.template.jsonを主にカスタマイズして、つぶしました。
しかし、一つは一向に解決しないため、問題を解析するため、Stretchローカル環境で、Pythonバージョンを既存の3.5より上の 3.7ソースからビルドしてインストールしていました。

その後、昨日は、ChromiumブラウザからGoogleアカウントに接続しようとすると、古すぎるからChromeにアップグレードせよとの画面が出てしまうので、
sudo apt-get dist-upgrade chromium
を実行したのですが、
以下のエラーが付きまとうこととなりました。

Traceback (most recent call last):
  File "/usr/bin/apt-listchanges", line 29, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

このエラーには、いろいろ対処法が見つかるのですが、まず気が付いたのは、バージョンを上げて、その後、/usr/bin/pythonのシンボリックリンクを、python3.7へと貼ったことです。その後、選べるようにupdate-alternativesを使っていたことを思い出し、2.7へ戻すために、update-alternativesで手動にしました。

次には、 以下でシンボリックリンクを貼りました。が、解決せず。

ln -s apt_pkg.cpython-{35m,37m}-arm-linux-gnueabihf.so
ln -s apt_pkg.cpython-35m-arm-linux-gnueabihf.so apt_pkg.so

次には、以下で設定しなおし。

sudo apt-get install python-apt
python-apt は手動でインストールしたと設定されました。
これらを直すためには 'apt --fix-broken install' を実行する必要があるかもしれません。
以下のパッケージには満たせない依存関係があります:
 libwebkitgtk-3.0-0 : 依存: libjavascriptcoregtk-3.0-0 (= 2.4.9-1~deb8u1+rpi1) しかし、2.4.11-3+rpi1 はインストールされようとしています
E: 未解決の依存関係です。'apt --fix-broken install' を実行してみてください (または解法を明示してください)。

このエラーには、ともかく、勧められた修復コマンドを発行。

Traceback (most recent call last):
  File "/usr/bin/apt-listchanges", line 29, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
(データベースを読み込んでいます ... 現在 179452 個のファイルとディレクトリがインストールされています。)
.../libwebkitgtk-3.0-0_2.4.11-3+rpi1_armhf.deb を展開する準備をしています ...
libwebkitgtk-3.0-0:armhf (2.4.11-3+rpi1) で (2.4.9-1~deb8u1+rpi1 に) 上書き展開しています ...
dpkg: アーカイブ /var/cache/apt/archives/libwebkitgtk-3.0-0_2.4.11-3+rpi1_armhf.deb の処理中にエラーが発生しました (--unpack):
 '/usr/share/locale/ar/LC_MESSAGES/WebKitGTK-3.0.mo' を上書きしようとしています。これはパッケージ libwebkitgtk-3.0-common 1:2.4.1-1rpi53rpi1g にも存在します
dpkg-deb: エラー: サブプロセス ペースト がシグナル (Broken pipe) によって強制終了されました
処理中にエラーが発生しました:
 /var/cache/apt/archives/libwebkitgtk-3.0-0_2.4.11-3+rpi1_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
    上に戻る