2014-02-13 3 views
1

저는 PyQt를 사용하여 Maya 용 툴을 만들고 있습니다. 따라서 Maya 명령을 실행해야합니다. 이는 프로그램이 Maya Libraries를 임포트한다는 것을 의미합니다. IDLE에서 (Eclipse를 사용하는) 내 프로그램을 테스트 할 때, 그것은 나를 귀찮게한다. Maya 명령을 IDLE에서 차단하고 Maya에서 활성화 만하고 싶습니다. Maya 나 IDLE에서 실행 중인지 확인할 수있는 방법이 있습니까?Maya 내에서 PyQt가 실행 중인지 확인하십시오.

+0

당신이 넣을 수 try-except 블록에서 Maya 명령을 사용하는 부분? Maya 명령이 실패하면 Maya에서 실행되고 있지 않다는 것을 알게되고 다른 코드를 실행할 수 있습니다. – Schollii

답변

2

내가 할 것은 단순히 포장 내 try..except 블록 import :

try: 
    from maya import cmds 
except ImportError: 
    print 'Not Maya' 

내 기대가 값이 마야 외부에서이 코드는 아니지만 마야 API를 요구하는 기능입니다.

+0

+1 간단한 접근 –

+0

감사합니다. 나는 불필요한 연구에 몰두했다. :) –

1

mhlester의 대답은 모든 가능한 설정에서 작동하지 않습니다. Eclipse에서 MayaPy.exe 인터프리터를 사용하는 경우 가져 오기 오류가 발생할 경우 maya.cmds를 가져 오면 빈 모듈이 생깁니다 (빈 모듈 당신이 maya.standalone을 시작하지만, 그렇지 않으면 아직 거기에와

당신은 잡을 수)은 ImportError를 트리거하지 않을 경우 대체 취득이 모듈 내부의 실제 명령을 찾아서 :

try: 
    import maya.cmds as cmds 
    cmds.about() 
except AttributeError: 
    print "not Maya" # cmds.about doesn't exist 
except ImportError: 
    print "not Maya" # Maya modules not on the path 
관련 문제