min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

RaspberryPi(初代) のCameraをPythonから使えるようにする(import picamera)

lこのサイトにあるとおりやりたい。

ami-gs.hatenablog.com

手持ちのRaspberryPi(初代)のPythonバージョンは3.5.1

f:id:min117:20170123001454p:plain

このPython3.5.1でRaspberryPiのカメラを動かして画像や動画をとりたい。まずは画像から。ソースは上記サイトを丸うつし。

f:id:min117:20170123001228p:plain

$ vim picamera_pic.py

f:id:min117:20170123000807p:plain

f:id:min117:20170123000817p:plain

$ python picamera_pic.py

f:id:min117:20170123000838p:plain

ImportError: No module named 'picamera' と出た。picameraモジュールをインストールしなければいけないらしい。冒頭サイトで紹介されたリンクにいってみる。

2. Python 3.2+ Installation — Picamera 1.2 documentation

f:id:min117:20170123000854p:plain

この手順どおりインストールしてみる。

$ sudo apt-get install python3-setuptools

f:id:min117:20170123001009p:plain

無事にインストールされた。

 

 

 

次はpicameraをインストールする。

$ sudo easy_install3 picamera

f:id:min117:20170123001025p:plain

f:id:min117:20170123001055p:plain

こちらも無事にインストールされた。

 

picameraモジュールを最新版にアップデートする。

$ sudo easy_install3 -U picamera

f:id:min117:20170123001107p:plain

こちらも正常にインストール完了。

 

$ sudo rm -fr /usr/local/lib/python3.*/dist-packages/picamera-*

f:id:min117:20170123002719p:plain

$ sudo sed -i -e '/^\.\/picamera-/d' /usr/local/lib/python3.*/dist-packages/easy-install.pth

f:id:min117:20170123002725p:plain

まだエラーになる。なんで?

f:id:min117:20170123002143p:plain

 

 

 

いろいろ調べた。たぶんこれでイケる。

Forum

f:id:min117:20170123004424p:plain

$ sudo apt-get install python3-picamera

f:id:min117:20170123004502p:plain

インストールできた。

f:id:min117:20170123004633p:plain

 

もう一回実行を試す。

f:id:min117:20170123002143p:plain

エラー…。ダメだこりゃ。たぶんpyenvで入れてるPATHから見えてないんだと思う。てか、Pythonはバージョン2も3もあり、さらにはpipありeasy_installありpyenvありanacondaありで、くっそ分かりにくい。

 

バージョンを再確認。

f:id:min117:20170123010055p:plain

f:id:min117:20170123010035p:plain

 

「pyenv picamera」でググる

2. Python 3.2+ Installation — Picamera 1.10 documentation

f:id:min117:20170123010936p:plain

このサイトどおりにやってみる。

sudo apt-get install python3-pip

f:id:min117:20170123010952p:plain

インストール完了。

f:id:min117:20170123011538p:plain

なんか文字列の中に「3.4」が多数ある。

$ sudo pip-3.2 install "picamera[array]"

でやるかと思ったけど、「3.2」のとこは「3.4」に読み替えてみるか。

sudo pip-3.4 install "picamera[array]"

f:id:min117:20170123011629p:plain

どっちもダメだ。

 

f:id:min117:20170123012142p:plain

どうもpipコマンドが複数あるらしい。しかもsudoだとコマンドが見つかりませんになっちゃう。これならどうだ。

・pip --version で表示された最新バージョン pip3.5 を実行する

sudoをつけないで実行する。

$ pip3.5 install "picamera[array]"

f:id:min117:20170123012455p:plain

なんかものっすごい時間かかってる。ps aux | grep pyしてみるとコンパイルしてるみたい。終わらないから放っておいてみる。

 

インストールが終わった。続いてアップデートする。

f:id:min117:20170124195344p:plain

実行してみる。

f:id:min117:20170124195333p:plain

解像度(resolution)なんていう属性(attribute)はない、とエラー。

f:id:min117:20170124200216p:plain

解像度決める処理をコメントアウトしてみる。

f:id:min117:20170124200146p:plain

実行。

f:id:min117:20170124200123p:plain

撮れた!(天井)

f:id:min117:20170127073958p:plain

これでPythonから写真が撮れるようになった。色々試せる。