2012年9月17日月曜日

SoftImageでpythonのモジュールが動かない場合に試して見ること

SoftImageのPythonと別個にモジュールを追加した場合、そのままスクリプトでモジュールを
importしても読み込みエラーが起こることがあります。

その場合にはモジュールを追加した場所をsys.pathに登録してやるとうまくいくかもしれません。
私の場合はPythonの画像処理系ライブラリ(PIL)のモジュールImageGrabを使おうとしてエラーになりました。


その時は以下のスクリプトを使って解決しました。
sys.pathの中身を覗き、PILをインストールしているディレクトリがなければ追加する、というものです。
AppendPathは、PC環境やワークグループなどに応じて書き換えてみてください。


import sys

AppendPath = "C:\\Python26\\Lib\\site-packages\\PIL\\" #モジュールのインストール場所
SystemPaths = sys.path

for SystemPath in SystemPaths:
 List = []
 if SystemPath == AppendPath:
  List.append(1)
 else:
  List.append(0)

if 1 in List:
 print ("Already added : " + AppendPath)
else:
 SystemPaths.append(AppendPath)

print SystemPaths