2017-04-26 1 views
1

마야 파이썬 툴체인을 내 팀에 만들었습니다. 모든 것이 잘 작동하고, 한 대의 컴퓨터에서만 문제가있는 것 같습니다. 나는 그것을 인쇄 명령으로 좁혔다. "temp.py"라는이 테스트 라이브러리처럼 (! 해당 한 컴퓨터)는이 출력을 생성Maya Python : IOError : [Errno 9] 잘못된 파일 설명자

import temp 

함께 가져온 후

import os 
# from pymel.core import * 

print "Hello" 

:

// Error: 9 
# Traceback (most recent call last): 
# File "<maya console>", line 1, in <module> 
# File "C:\maya_scripts\temp.py", line 4, in <module> 
# print "Hello" 
# IOError: [Errno 9] Bad file descriptor // 

I Maya 버전 2016, 2016.5 및 2017을 사용해 보았습니다. 모두 같은 결과. Python 2.5 독립 실행 형에는 이러한 문제가 없습니다. 나에게 어떤 종류의 구성 문제처럼 들리지만 다시 3 가지 다른 마야 설치에서 동일하게 작동하므로 환경 설정을 삭제해도 도움이되지 않습니다.

+0

GUI maya 또는 mayapy.exe standalonw를 실행하고 있습니까? – theodox

+0

Maya 앱 자체에서 실행 중이므로 Maya 스크립트 편집기 콘솔에서이 오류가 발생합니다. – clawjelly

답변

-1

오류가 모듈에서, 당신은

마야 2016 2017 당신이 인쇄 ("")

를 사용해야합니다 2017에 파이썬 3.x를 에 파이썬 2.7.6와 마야 인 인쇄 기능을 덮어 쓸 수 있습니다
+0

맞지 않습니다. 2017은 2.7.6입니다. https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/Maya/files/GUID-C0F27A50-3DD6-454C -A4D1-9E3C44B3C990-htm.html – theodox

+0

네, 저도 알고있었습니다. 이 기능은 단순히 한 대의 컴퓨터에서 인쇄가 라이브러리 (가져 오기를 통해)로 사용될 때만 매우 특별한 경우입니다. 동일한 코드가 다른 컴퓨터의 동일한 앱에서 작동합니다. 그리고 순수 파이썬 런타임에서 작업하면서 동일한 응용 프로그램의 3 가지 다른 버전에서 해당 컴퓨터에서 실패합니다. 아주 수수께끼 같은 행동입니다. 내 유일한 생각 atm 일부 스크립트 또는 플러그인 stdout 인쇄하여 처리되는 방식으로 뭔가를 변경하는 것입니다 ... – clawjelly

+0

theodox, 당신은 마 야 2016 설명서를 연결하지만 오른쪽, 그들은 그냥 pyside2로 이동 하 고 python 2.7.11 것 같다 : http://around-the-corner.typepad.com/adn/2016/08/compiler-versions-for-maya-2017.html – DrWeeny

1

여기서 실제로 일어나고있는 것이 무엇인지 알기가 어렵습니다. 그러나이

import sys 
sys.__stdout__.write("hello") 
sys.__stdout__.write(str(sys.stdout)) 

이 그런 다음 출력 창을 (하지 리스너)를 확인하십시오. 바닐라 마야에서는 "hello"이후에

<maya.Output object at 0x00000217E827FC10> 

을 볼 것으로 예상됩니다. 다른 스크립트가 보이면이 스크립트에서 sys.stdout을 납치하려했습니다. 은 MAYA_SKIP_USERSETUP_PY이라는 환경 변수를 만들어 1으로 설정하고 다시 시작하면 자동 로딩에서 어떤 스크립트가 장난이 아니든 중지해야합니다. 해당 컴퓨터에서 스크립트를 통해 빗과 다시

뒤에 sys.stdout 덤비는 누가 알아 내야 그러나

import maya.utils as utils 
sys.stdout = utils.Output() 

:

는 당신을 위해 무엇을 찾고으로 재설정하는 방법을한다고

관련 문제