この記事はChatGPT o1によって生成しました。

概要

Python のライブラリには、インストール時にソースコードのコンパイルを必要とするものがある。そのため、Python の C ヘッダやその他の開発関連ライブラリをあらかじめ用意しておく必要がある。
本記事では、特にエラーが起こりやすいパッケージ(sysv-ipc, pybluez など)のインストール時に見られる代表的なエラーメッセージと、その対処方法を示す。


sysv-ipc インストール時のエラー例と対処方法

エラー例

  • "fatal error: Python.h: No such file or directory"
  • "command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1"

これは、Python の開発ヘッダファイル (Python.h) が見つからないために発生するエラーである。
Debian/Ubuntu 系の環境では、以下のコマンドで開発ツールをインストールすることで対処できる。

sudo apt-get update
sudo apt-get install build-essential python3-dev

python3-dev は環境に合わせて任意のバージョン(例: python3.7-dev, python3.11-dev など)を指定してよい。
これによって必要なヘッダファイルが用意され、pip install -r requirements.txt を再度実行すると sysv-ipc が正常にビルドできるようになる。


pybluez インストール時のエラー例と対処方法

エラー例

  • "fatal error: bluetooth/bluetooth.h: No such file or directory"
  • "command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1"

これは、Bluetooth 用の C ヘッダファイルが見つからずに発生するエラーである。
Debian/Ubuntu 系システムでは、以下のコマンドにより対応するパッケージをインストールすると解決できる。

sudo apt-get update
sudo apt-get install libbluetooth-dev

インストール後に再度 pip install -r requirements.txt を実行することで、pybluez がビルドされ、インストールが成功するようになる。