首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maya : IOError:[Errno 9]糟糕的文件描述符

Maya : IOError:[Errno 9]糟糕的文件描述符
EN

Stack Overflow用户
提问于 2017-04-26 11:52:06
回答 2查看 1.1K关注 0票数 1

我为我的团队创建了maya工具链。一切正常,就在一台机器上,我似乎有问题。我把范围缩小到打印命令。就像这个名为“temp.py”的测试库:

代码语言:javascript
复制
import os
# from pymel.core import *

print "Hello"

在导入之后

代码语言:javascript
复制
import temp

它产生这个输出(只在那台计算机上!):

代码语言:javascript
复制
// 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 //

我试过玛雅版本的2016,2016.5和2017年的。结果都一样。作为独立的Python2.5没有遇到这个问题。对我来说,这听起来像是某种配置问题,但是在3种不同的maya安装中,它的行为也是一样的,所以删除prefs也没有帮助。

EN

回答 2

Stack Overflow用户

发布于 2017-04-27 18:37:26

很难知道这里到底发生了什么。但试试这个

代码语言:javascript
复制
import sys
sys.__stdout__.write("hello")
 sys.__stdout__.write(str(sys.stdout))

然后检查输出窗口(而不是监听器)。在香草玛雅,你会看到这样的东西

代码语言:javascript
复制
<maya.Output object at 0x00000217E827FC10>

在“你好”之后。如果您看到其他的东西,一些脚本已经尝试劫持sys.stdout在这个安装。您可能可以通过创建一个名为MAYA_SKIP_USERSETUP_PY的环境变量,将其设置为1,然后重新启动来解决这个问题--这应该可以阻止任何脚本不正常的自动加载。

这应该把它重置为你要找的东西:

代码语言:javascript
复制
 import maya.utils as utils
 sys.stdout = utils.Output()

然而,你需要梳理一下机器上的脚本,找出是谁在背后捣乱sys.stdout

票数 1
EN

Stack Overflow用户

发布于 2017-04-26 13:59:03

错误来自您的模块,您可以覆盖打印函数。

maya 2016是python 2.7.6,maya 2017是python 3.x,2017年你必须使用print("")

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43633433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档