コレグラフを使用しなくてもPepperを動かせるPython 2.7 SDKセットアップ方法 MAC編
こんにちは。
AI coordinatorの清水秀樹です。
プログラムソースをバリバリ記述しながらPepperアプリ開発を実施したい人には、コレグラフは少し物足りない開発ツールです。
そんな方の為なのか、Pepperアプリ開発用のPython 2.7 SDKが準備されています。
ソフトバンクのサイトからダウンロードが可能です。
Windows用とLINUX用とMAC用とそれぞれで準備されています。
自分のOS環境にあったSDKをダウンロードして使用しましょう。
ただしMACでの開発環境整備には、System Integrity Protection (SIP)が少々邪魔をして、単純なインストールではプログラムを実行できません。
正確に言うとPATHが通りません。
その開発環境の整備に大変苦労したので、ここで紹介します。
また、初めてで良くわからない方向けとしても紹介しています。
これからMACでPepper用Python 2.7 SDK開発環境を整備したい方は是非参考にしてみてください。
Python 2.7 SDKをインストールしよう
上記ダウンロードサイトからPython 2.7 SDKをダウンロードしてインストールしましょう。
特に難しいことはないはずです。
Python以外にもJavaやC++も準備されています。
ここではPythonを選択してください。
ダウンロード後はファイルが圧縮されたままですので、解凍してください。
さて、ここからがターミナルを起動してコマンドで作業していくことになります。
まずはpipをインストールしましょう。
$ sudo easy_install pip
パスワードを聞かれたら管理者パスワードを入力してインストールしてください。
pipをインストールできたら、次はqibuildをインストールしましょう。
$ pip install qibuild
ここまでできたら、次は環境変数の設定です。
ターミナルを起動し、以下のコマンドを実行します。
$ export PYTHONPATH={PYTHONPATH}:/Users/pepper/Desktop/pynaoqi-python2.7-2.4.3.28-mac64 $ export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/Users/pepper/Desktop/pynaoqi-python2.7-2.4.3.28-mac64
PATHを通すことで、Pepperを動かすモジュールが使えるようになるわけですが、
ここでハマりました。
いざ実行してみると、
$ python >>> import ai Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named ai >>> import qi Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/pepper/Desktop/pynaoqi-python2.7-2.4.3.28-mac64/qi/__init__.py", line 66, in <module> from _qi import Application as _Application ImportError: dlopen(/Users/pepper/Desktop/pynaoqi-python2.7-2.4.3.28-mac64/_qi.so, 2): Library not loaded: libboost_python.dylib Referenced from: /Users/pepper/Desktop/pynaoqi-python2.7-2.4.3.28-mac64/_qi.so Reason: unsafe use of relative rpath libboost_python.dylib in /Users/pepper/Desktop/pynaoqi-python2.7-2.4.3.28-mac64/_qi.so with restricted binary
なにやらモジュールがインポートできないとゴチャゴチャ叱られるではありませんか。
早速ググってみると原因が分かりました。
System Integrity Protecton (SIP)とかいうセキュリティ機能が働いており、ライブラリーが参照できないとのこと。
でもって、SIPを解除する方法もこちらのサイトで紹介されていたので、すかさず手順に則ってSIPを解除。
ここまで実施してから、ようやく下記コードでバーチャルペッパーに会話をさせることに成功しました。
>>> from naoqi import ALProxy >>> tts = ALProxy("ALTextToSpeech", "localhost", 49292) >>> tts.setLanguage("Japanese") >>> tts.say("こんにちは、pepperです")
同じ悩みを持っている方は、参考にしてみてください。
その他のPepperアプリ記事はこちらから
この記事へのコメントはありません。