【MAYA】 일시적으로 파이썬 라이브러리 경로 추가 (조금 높은 기능
같은 기능이 있습니다. 덧붙여 일시 등록이므로 MAYA를 재기동하면 설정은 사라져 없어집니다.
패스를 통과하지 않고 무거운 파일 열어 버렸을 때라든가, 실험용의 코드를 취급하는 경우등에 사용해 주세요.
MAYA 2018
+ MacOS Sierra
및 MAYA 2017
+ Windows10 Pro
에서 동작 확인했습니다.코드를 실행하면, 이런 느낌의 다이얼로그가 나옵니다.
추가 성공하면.
해당 경로가 이미 존재하면 추가할 수 없습니다.
추가하려는 폴더가 없으면 추가할지 여부를 선택할 수 있습니다.
Mac에서\로 구분 된 경로를 등록하려고하면 내부적으로 mac 표현식의 경로 설명으로 변환하여 작동합니다. Mac에 C 드라이브라든지는 없는 것입니다만, 파일 서버를 smb로 시작되는 패스로 등록할 때 등은 편리할지도 모릅니다?
/
로 등록한 패스를 ¥
로 등록하려 해도이렇게 연주됩니다.
windows 기계에서 이러한 경로를 등록하고
그 후 다른 쓰는 방법으로 등록하려고하면
제대로 연주됩니다.
선반 등록용 빠른 실행 코드
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
Reference
이 문제에 관하여(【MAYA】 일시적으로 파이썬 라이브러리 경로 추가 (조금 높은 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/harayoki/items/5ad6f6af527fd7147f4e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)