picamera2のインストールがうまく行かなっかたけど、環境変数設定してやるとうまく行きました。
前提条件
Raspberry Pi 4B
OS:Bookworm
Python 3.11
手順
1. 仮想環境の作成と有効化
まず、Pythonの仮想環境を作成、有効にする。
bash
python3 -m venv /home/username/myproject/myenv
source /home/username/myproject/myenv/bin/activate
2. 必要な依存関係のインストール
libcamera のビルドに必要な依存関係をインストール。
bash
sudo apt-get update
sudo apt-get install -y libboost-dev libgnutls28-dev openssl libtiff-dev pybind11-dev
sudo apt-get install -y qtbase5-dev libqt5core5a libqt5gui5 libqt5widgets5
sudo apt-get install -y meson cmake
sudo apt-get install -y python3-yaml python3-ply python3-jinja2
sudo apt-get install -y libglib2.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y libdw-dev libunwind-dev libudev-dev
3. libcamera のソースコードをクローン
次に、libcamera のソースコードをクローン。
bash
git clone https://git.libcamera.org/libcamera/libcamera.git
cd libcamera
4. libcamera のビルドとインストール
meson を使用してビルドディレクトリを設定し、ninja を使用してビルドおよびインストール。
bash
meson setup build
ninja -C build
sudo ninja -C build install
5. 環境変数の設定
libcamera が正しくインストールされたことを確認するために、環境変数 LD_LIBRARY_PATH を設定。
bash
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
6. picamera2 のインストール
仮想環境内で picamera2 をインストール。
bash
pip install picamera2
7. Python スクリプトの実行
仮想環境内で Python スクリプトを実行します。以下のスクリプトを使って、カメラのプレビューを開始。
python
from picamera2 import Picamera2, Preview
picam2 = Picamera2()
picam2.start_preview(Preview.QTGL)
picam2.start()
まとめ
6.以降がうまくいかなかったけど、環境変数設定してやるとインストールできた。
めもでした。
追記
・GitHub Issue #218では、同様の問題が報告されており、libcameraのバージョンに依存することが確認されている。
https://github.com/raspberrypi/picamera2/issues/218
・Arducamフォーラムでも、libcameraのバージョンを調整することで問題が解決された事例が報告されている。
https://forum.arducam.com/t/importerror-cannot-import-name-controltype-from-libcamera-unknown-location/3414