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に組み込まれていません。")
本日は以上です。