一時的にpythonのライブラリパスを追加する便利ぽいやつを作りました。コードは投稿のお尻に。
- 重複登録しない
- パス文字列の自動整形ぽい機能
- パスの存在チェック
- win / mac 両対応
- win / mac 環境にあわせた文字列に変換してから登録する
などの機能があります。なお、一時登録なのでMAYAを再起動すると設定は消えて無くなります。
パスを通さずに重いファイル開いちゃった時とか、実験用のコードを扱う場合などにお使いください。
MAYA 2018
+ MacOS Sierra
および、 MAYA 2017
+ Windows10 Pro
で動作確認しました。










シェルフ登録用クイック実行コード
import sys
import os
import pymel.core as pm
import platform
def temp_def():
result = pm.promptDialog(
title='Python Path Appender',
message='追加するライブラリパスを入力してください (win / mac OK)',
button=['OK', 'Cancel'],
defaultButton='OK',
cancelButton='Cancel',
dismissString='Cancel')
if result != 'OK':
return
lib_path = pm.promptDialog(query=True, text=True)
# 左右の空白を取り除く
lib_path = lib_path.strip()
# 一度posix(mac形式)のパス起票に統一して直す(両者の混在などをなくす)
lib_path = lib_path.replace('\\', '/')
if len(lib_path) <= 1:
# あまり短いのは省いておく
pm.confirmDialog(title='確認', message='パスが短すぎます。', button='OK')
return
if lib_path.endswith('/'):
# 最後のパス区切り文字は消しておく(そのままでも大丈夫だが統一して重複をなくす)
lib_path = lib_path[:-1]
if platform.system() == 'Windows':
# 元に戻す
lib_path = lib_path.replace('/', os.path.sep)
if lib_path in sys.path:
pm.confirmDialog(title='確認', message='パスはすでに登録されています。', button='OK')
return
file_exsistence = os.path.exists(lib_path)
if not file_exsistence:
result = pm.confirmDialog(
title='確認', message='"{}"\nパスがファイルシステムに存在しません、それでも登録しますか?'.format(lib_path),
button=('OK', 'Cancel'),
defaultButton='OK', cancelButton='Cancel', dismissString='Cancel')
if result != 'OK':
return
sys.path.append(lib_path)
pm.confirmDialog(title='確認', message='"{}"\n上記をパスに追加しました。'.format(lib_path), button='OK')
temp_def()
del temp_def