Blender python で pip で pytorch や opencv などの module をインストールするメモ(2.82a or later)


背景

Blender で OpenCV や dlib など使って 3D 顔データを可視化したり, pytorch と連携して機械学習と組み合わせしたりしたい.

環境

  • Ubuntu 18.04
  • Blender 2.82a(python3.7.4)

pip のインストール

最初の状態では, pip が入っていないので, ensurepip
https://docs.python.org/ja/3/library/ensurepip.html

でインストールします.

$ /path/to/blender/2.82/python/bin/python3.7m -m ensurepip

このあと, -m pip で使えるようになります.

$ /path/to/blender/2.82/python/bin/python3.7m -m pip

C/C++ コンパイルが必要なモジュール

dlib など, pip 時にソースコードからコンパイルが必要なモジュールもあります.

Python 3.7 開発環境(ヘッダファイル)が必要になります.
Blender には Python.h などが入っていません.

システムの python dev を使う

Ubuntu 18.04 ですと, apt で python3.7-dev を入れて,

$ env CXXFLAGS="-I/usr/include/python3.7m" /path/to/blender/2.82/python/bin/python3.7m -m pip install dlib

などと, CXXFLAGS でヘッダパスを追加すればばとりあえずが, pyconfig.h が異なるので, 少し不安です.

Python ソースコードからヘッダファイルを取得(推奨)

python のソースコードを落としてきて, blender 側の /path/to/blender/2.82/python/include/python3.7m にヘッダ関連をインストールするのが安全かとおもいます.

これで C/C++ コンパイルが必要なモジュールもインストールできるはずです!

Blender Python のコンソールで import できるはずです!

その他の方法

Blender の python バイナリ を conda で入れたのと置き換えるアプローチ

TODO

  • miniconda や virtualenv で, blender python の環境を使って仮想環境をセットアップできないか調べる
  • Blender をソースコードからビルドして, python 開発環境整えやすいようにする.
  • Blender のオフラインモード(CLI モード)でもきちんと動くか確認する(バッチ処理用)
    • blender --background --python-console でいけます.