Python
Eclipse
debug
Blender
PyDev

[Blender] Blenderスクリプトのデバッグ環境(Eclipse+PyDev)を整える

More than 3 years have passed since last update.

Blenderスクリプトの規模が大きくなってくると、そろそろデバッガを使いたくなってきます。

これまでBlenderスクリプトを作る時はself.report一筋でしたので、そろそろ限界を感じてきていました。

そこで Eclipse+PyDev を使って、Blenderスクリプト開発のデバッグ環境を構築してみました。


デバッグ環境構築


Eclipseのダウンロード

Eclipseのホームページから、最新版のEclipseをダウンロードします。

Eclipseダウンロードページ

必要に応じてJava SEをインストールするように求められるかもしれませんが、その場合は指示に従ってインストールを行います。

※ PyDevは Java SEのバージョンが6以下では動作しません 。インストールされているJava SEのバージョンが6以下の場合は、以下のリンクからJavaの最新版を入手してください。

(参考:http://ameblo.jp/cubsuke/entry-11767899203.html)

Java SEダウンロードページ


PyDevのインストール

PyDevを以下の手順従ってインストールします。



  1. Help - Install New Software... をクリック


  2. Available Software ウィンドウの Add... をクリック


  3. NamePyDevLocationhttp://pydev.org/updates を入力して OK をクリック

  4. しばらく経つと、Available Software ウィンドウに PyDev が追加されるので選択した後、 Contact all update sites during install to find required software のチェックボックスを外し、 Next > をクリック

    ※ 注意:Contact all update sites during install to find required softwareのチェックを外さないと、5.までに長い時間がかかってしまいます

    (参考:Stackoverflow


  5. Install Details ウィンドウの Next > をクリック


  6. Review Licenses ウィンドウでライセンスに同意した後、 Finish をクリック

  7. PyDevがインストールされるので、インストール後に Eclipseを再起動


デバッグ実行の準備


デバッグ用プロジェクトの作成

デバッグ実行のためのプロジェクトを作成します。


Eclipseプロジェクトの作成



  1. File - New - Project... をクリック


  2. Select a wizard ウィンドウから、 PyDev - PyDev Projectを選択し、 Next > をクリック


  3. Project name に適当な名前をつけた後、 Next > をクリック


  4. Finish をクリック


Blenderのパスを設定



  1. Project - Properties クリック

  2. 左のメニューから PyDev - PYTHONPATH を選択


  3. External Libraries を選択


  4. Add source folder を選択し、以下のパスを追加


    • (Blenderスクリプトのパス)/addons

    • (Blenderスクリプトのパス)/addons/modules

    • (Blenderスクリプトのパス)/modules

    • (Blenderスクリプトのパス)/startup

    • 必要に応じて個人用の作業ディレクトリ




デバッグの為のソース修正


デバッグサーバへ接続するソースの作成

PyDevデバッグサーバへ接続するためのソースを作成します。

作成したソースは、デバッグするBlenderスクリプトと同じディレクトリに置いてください。


debug.py

import sys

DEBUGGING = True

def start_debug():
if DEBUGGING is True:
PYDEV_SRC_DIR = "(eclipseディレクトリへのパス)/plugins/org.python.pydev_XXXXX/pysrc" # 環境に応じて書き換えが必要
if PYDEV_SRC_DIR not in sys.path:
sys.path.append(PYDEV_SRC_DIR)
import pydevd
pydevd.settrace()
print("started blender script debugging...")



デバッグ対象のBlenderスクリプトの修正

デバッグを開始するために、デバッグ対象のスクリプトで デバッグを開始する場所start_debug() を追加します。

例えば、スクリプト実行開始直後にデバッグを開始したい場合は以下のようにします。


start_debug_at_main.py

from . import debug

if __name__ == "__main__":
debug.startdebug()



PyDevデバッグサーバの起動


EclipseにBlenderを登録

Eclipseの外部ツールにBlenderを追加します。

追加の方法を以下に示します。



  1. Run - External Tools - External Tools Configurations... をクリック

  2. 左メニューから、Program をダブルクリック


  3. Main タブを選択し、LocationBlenderの実行ファイルWorking DirectoryBlenderの実行ファイルが置かれたディレクトリ を入力

    Name には自分の好きな名前を入力(ここでは、 New_Configuration とする)


  4. Apply をクリック


デバッグサーバの起動

PyDevデバッグサーバを起動します。

起動の手順を以下に示します。



  1. Window - Open Perspective - Other... をクリック


  2. Debug を選択し、Debugパースペクティブを開く


  3. Pydev - Start Debug Server をクリックし、サーバを起動


デバッグ実行


Blenderの起動

以下の手順に従って、EclipseからBlenderを起動します。



  1. Run - External Tools - New_Configuration をクリック

  2. Blenderが起動


デバッグの実行画面

ここまでの説明をもとに、Blenderのスクリプトを作成してデバッグしてみました。

20150413.png

このような感じで、デバッグを開始した時点でEclipseを用いてデバッグを進めることが出来ます。


最後に

いつかはやろうと思っていたBlenderとデバッガとの連携ですが、特にハマるところ無く無事に連携できました。

デバッガを使うことで self.reportデバッグに比べて開発効率が格段に向上するので、ぜひ利用してみてはいかがでしょうか。


参考情報