夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Blenderであるライブラリが既にインストールされているかを確認する

本日はBlender Python枠です。

BlenderではPython環境が構築されており、任意にライブラリを追加することができます。

例えばPython機械学習を行うためのライブラリであるPytorchなどはデフォルトでBlenderに入っていませんが、任意に追加することができます。

現在筆者が開発しているMixedRealityModelingToolsはMessagePackのライブラリを必要としています。

こういった場合にアドオンを配布する際にすでにそのアドオンを使用するための環境があるのか?それとも環境の構築が必要なのかを確認する必要があります。

今回はこういった目的のために今回はあるライブラリがすでにインストールされているかを確認していきます。

〇インストールされているライブラリを取得

実行しているBlenderにインストールされているライブラリを取得するには次のようなコードを使います。

ここではMessagePackがインストールされているかどうかを検出する例で紹介します。

try:
    import msgpack
    print("MessagePackライブラリがインストールされています。")
except ImportError:
    print("MessagePackライブラリがインストールされていません。")

考え方は簡単でメッセージパックのライブラリを使用しようとしてエラーが発生した場合は導入されていない、逆にエラーがなかった場合はライブラリがインストールされているという形になります。

import ○○の部分を任意のライブラリにすることで汎用的に使用できます。

次のように処理を加えることでより実際に使用しやすい形にできます。

import bpy

def check_library():
    # Blenderに組み込まれたMessagePackライブラリを使用してみる
    try:
        import msgpack
        return True
    except ImportError:
        return False

result = check_check_library()

if result:
    print("MessagePackライブラリがBlenderに組み込まれています。")
else:
    print("MessagePackライブラリがBlenderに組み込まれていません。")

本日は以上です。