15
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

BlenderAdvent Calendar 2019

Day 14

Blender内蔵Pythonを環境構築する

Last updated at Posted at 2020-07-17

 BlenderにはPythonが内蔵されていて、色々なスクリプトを行うことができます。ただし、導入されているモジュールはnumpy等に限られており、好きなモジュールを追加するには少し作業が必要なので解説します。

Windowsの場合

 デフォルトの設定の場合、Blenderは以下の場所に保存されているはずです。

C:\Program Files\Blender Foundation\Blender\2.80

 この下のPythonが内蔵されています。(自分で個別にインストールしたPythonとはまた別です)

C:\Program Files\Blender Foundation\Blender\2.80\Python\python.exe

image.png

 また、以下の場所にpip.exe(インストールするためのモジュール)があります。

C:\Program Files\Blender Foundation\Blender\2.80\python\Scripts

image.png

 !バージョンは2.81だったり2.80だったりするので、そこは各自合わせてください

 このpipにはパスが通っていない(このpipを参照するようになっていない)ので、コマンドプロンプトで例えば、

pip install pandas

 と打っても通りません。(別のPythonがインストールされている場合、そちらの方にインストールされます)

 パスが通っていないなら場所を直接参照すればよいだけの話で、

C:\Program Files\Blender Foundation\Blender\2.80\python\Scripts\pip install pandas

 とやればOK……とはならず、実はもう一手間必要で、これだとWindowsの管理者権限の関係でうまくいきません。

C:\Program Files\Blender Foundation\Blender\2.80\python\Scripts\pip install pandas --user

 これでうまくいきます。
image.png

 注意事項として、ワーキングディレクトリは

>>> import os
>>> os.getcwd()
'C:\\Program Files\\Blender Foundation\\Blender'

 になるので、なにかファイルを生成してそれを参照する、という操作を行う場合は管理者権限がないとエラーになります。管理者権限でBlenderを起動するか、ユーザーディレクトリ以下にファイルを生成・参照するようにしましょう。

Macの場合

 Macの場合、Blenderは以下の場所に保存されているはずです。

/Applications/Blender.app/Contents/Resources/2.81

image.png

 !バージョンは2.81だったり2.80だったりするので、そこは各自合わせてください

 ただ、なぜかpipがインストールされていません。pipをインストールする必要があります。

 ターミナルを開いて、

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
/Applications/blender.app/Contents/Resources/2.81/python/bin/python3.7m get-pip.py

 !pythonのバージョンは3.7だったり3.5だったりするので、そこは各自合わせてください

 で、pipが生成されるはずです。

 後は同じように、

/Applications/blender.app/Contents/Resources/2.81/python/bin/pip install pandas

 でインストール完了。

image.png

_tkinterの罠

 ちなみに、Windowsでpyplotをインポートしようとすると以下のようなエラーが出ます。
 image.png

 _tkinterがないと言われます。直前にインポートしているtkinter/__init__.pyの中身を見ると、

image.png

「もしこれがfailする場合、あなたのPythonはTk用に調整されていないかもしれません」

 個別にインストールする普通の(?)Pythonだとこれが出ないので、内蔵Python特有の問題かもしれません。

 一応、力技としてC:\Program Files\Blender Foundation\Blender\2.80\の下に別にインストールしたpythonをフォルダごとコピーするというものがあります(元々存在していたpythonフォルダはリネームして避難)。これだと環境をそのまま持っていけます。ただ、pyplot.show()でグラフを描画することはできませんでした。この方法は、内蔵Pythonではどうしてもモジュールをpipできない場合などは有効かもしれません。

 MacOSの場合、このエラーは出ませんが、やはりpyplot.show()で描画することはできませんでした。

 Blender上でグラフを描画するのは難しそうです(その必要性はあまりなさそうですが)。

15
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?