Bakulog

獏の夢日記的な何か。

Pepperに最初から入ってるPython追加ライブラリの一覧

手元にPepperが無いときやsshでいちいち確認するのが面倒な人のためのメモです。自分用の備忘録を兼ねています。

 

なんか偉そうなタイトルですが、私が何をしたかというとPepperにsshで接続して以下のコマンドを叩いただけです。

ls /usr/lib/Python2.7/site-packages/

上記のディレクトリはPythonの追加モジュールのインストール先になるディレクトリです。一つディレクトリを上にさかのぼって /usr/lib/Python2.7/ ディレクトリを調べるとPythonの標準ライブラリを調べることも可能です。

 

結果を以下に示します。明らかにPepper、というかNAOqi Framework専用に見えるものとそれ以外のものは区別しているほか、egg-infoみたいなライブラリそのものではない項目も適当に省いています。

 

NAOqi Frameworkっぽいもの

albehavior.py
allog.py
allog.pyc
almath.py
almathinternal.py
almathswig.py
ialbehavior.py
inaoqi.py
naoqi.py
proxynao
qi

 

標準的っぽいもの

Crypto
PIL
WebappConfig
arcsdk
cairo
chardet
curl
cv.py
cv2.so
daemon
dateutil
dbus
dbus_bindings.py
django
dns
easy_install.py
expressiveness.py
flup
ftdi1.py
gi
glib
gobject
gst-0.10
gstoption.so
gtk-2.0
liveliness
lockfile
motion.py
netaddr
numpy
pkg_resources.py
pycurl.so
pygst.py
pygtk.py
requests
semanticminer.py
serial
setuptools
simplejson
site.py
telepathy
tornadio2
tornado
vision_definitions.py
vobject
xmpp

 

こんなとこですね。いちおう免責を書いておきますが、使ったのはアトリエ秋葉原の共有Pepperなので出荷状態のと構成が異なる可能性があります。情報は自己責任でご利用下さい。

 

にしても…結構たくさん入ってますねー。個人的に入ってて嬉しいと思ったものを挙げておきます。

  • 高速計算: numpy
  • 画像処理: PIL/cv, cv2(=OpenCV)
  • Webサーバ設立: Tornado
  • Web APIクライアント: requests

「Pepperには表情認識機能があるんだからOpenCV入ってるのは当たり前」と思うかもしれませんが、C++用の生OpenCVだけじゃなくてPythonラッパーも完備されているのはありがたいですね。ともかく上記のライブラリを上手く組み合わせると計算機としてのPepperの底力も引き出せそうな予感がしてきます。使い道を考えるのは貴方自身です!(丸投げ

 

 

…ちなみに。今回の記事で"lsコマンド"とか言ってる時点でお察しだと思いますが、pipは入ってません。ナゼ入ってないかというと、憶測ですがsite-packagesの変更が非推奨事項だからだと推察できます。Pepperのアプリケーションは可搬性が高くないといけないので、site-packagesの構成をいじってようやく動くようなソフトなんてSoftbank Roboticsからすれば避けてほしいものでしょう多分。例外は研究室等で限られた環境のもと使う場合くらいでしょうか。

 

ともかく、基本的にPepperの開発はChoregrapheとNAOqi APIと上記のPythonモジュールをいかにうまく使うか、ということに集約されていきます。

 

もし「それでも私は外部PythonライブラリをPepperアプリで使いたい!」という方が居ましたら、具体的な事例としてPepperをTwitterと連動させる方法を参考にするのが良いと思います。この記事ではTwitterの認証用外部ライブラリをアプリケーションの一部として埋め込んで使う方法が紹介されており、これと同じようなやり方をすればsite-packagesを変更しなくても好きなモジュールを組み込んで使う事ができます。