Mayaで外部のPython パッケージを利用する

pip,Tips,Python,Maya

この記事はMaya Advent Calendar 2022の5日目の記事です

pipを使ってMayaにPythonパッケージをインストールする方法でMayaに直接pipをインストールしたり、Pythonのパッケージをインストールすることはやめておきましょうと強く言いましたがではどうやって外部から取得したPythonのパッケージをMayaで使えるようにするのがよいのでしょうか?

今回はその方法を紹介します

全体的な流れ

  1. Mayaと同じバージョンの標準Pythonをインストールする
  2. Pythonパッケージを管理できるディレクトリを用意し、そこにpipインストールする
  3. PYTHONPATHを通した状態でMayaを起動する
  4. MayaでPythonパッケージを利用する

前回と同じく今回はPython2系で紹介しますが3系でも基本は同じ流れになると思ってください

Mayaと同じバージョンの標準Pythonをインストールする

MayaのPythonのバージョンを調べる

MayaのPythonのバージョンを調べるにはsys.versionで調べることができます

import sys
print (sys.version)

Pythonのインストール

Python 2.7.11ということがわかりましたのでPython2.7.11をダウンロードして、インストールを行います
基本的にはそのままインストールをしていけばいいです

Python3系の場合はそのままインストールではなく、Customize instalationでドライブの直下にPython[version]というフォルダを作成し、そこにインストールすることをお勧めします
Add Python[version] to PATHにはチェックを入れておきましょう

コマンドプロンプトでpythonと打ちうまくPythonが起動していたら、問題ありません
うまくいっていない場合は環境変数にPATHが記述されていないので記述してください

Pythonのpipインストール

pipを使ってMayaにPythonパッケージをインストールする方法で紹介したようにpipがインストールできていない場合はPythonにpipをインストールしてください

Pythonパッケージを管理できるディレクトリを用意し、そこにpipインストールする

まずはPythonパッケージを管理できるディレクトリを用意します
今回はDドライブ直下にworkspaceというフォルダを作成し、そのフォルダにsite-packagesというフォルダを作成します
D:\workspace\site-packages

このsite-packagesでPythonパッケージを管理していきたいと思います
実はpipでは任意のディレクトリにPythonパッケージをインストールすることができます

pip install <パッケージ名> -t <ディレクトリ>

試しにxlwtをインストールしてみます

インストールが終わると先ほど用意したフォルダにPythonパッケージがインストールされているのが確認できると思います

PYTHONPATHを通した状態でMayaを起動する


では、先ほどインストールxlwtをMayaで使用したいと思いますが普通にmayaのショートカットから起動し、インポートしてみるとそんなモジュールは存在しませんよとメッセージが帰ってきまます

これはpythonを読み取るために必要なPATHが通っていないためです
このPATHを通すに便利なものがPYTHONPATHと呼ばれる環境変数です
詳しい説明はAutodeskさんが記載していますこちらをどうぞMaya Python で外部 Python ライブラリを使用する

このPYTHONPATHを通した状態でMayaを起動すると外部のPythonパッケージ(ライブラリ)を利用することができます

batを用意する

右クリック>新規作成でtxtを作成し、メモ帳などで下のコードを記述し、maya.batという名前で保存してください

SET PYTHONPATH=D:\workspace\site-packages;%PYTHONPATH%;
for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\Maya\2019\Setup\InstallPath" /v MAYA_INSTALL_LOCATION') do set "MAYA_LOCATION=%%~b"
"%MAYA_LOCATION%\bin\maya.exe" %*

MayaでPythonパッケージを利用する

先ほど作成したmaya.batをダブルクリックするとMayaが立ち上がります
このMayaは一見普通のMayaと変わりませんがPYTHONPATHが通った状態のMayaです


再度xlwtをインポートしてみるとうまくインポートできるはずです

このようなやり方をすればインストールしたMayaを汚すことなく、起動環境を切り替えたりすることが簡単にできます


明日は @9bozさんのnurbdCurveでの何かです