我有一个问题,我不确定发生了什么,我创建了一个“userSetup.py”文件并将其放置在脚本文件夹(C:\Users*user*\Documents\maya\2022\scripts)中
这是我的userSetup.py文件:
def importPy():
### import modules and open a command port ###
exec("import my_module", globals())
exec("cmds.commandPort(name=':1234', sourceType = 'python')")
exec("print('FINISHED')")
def tryImport():
"""
execute importPy when Maya is idle
"""
from maya.utils import executeDeferred
executeDeferred("importPy()")
tryImport()
现在我已经创建了一个文件“my_module.py”,并将其放在同一个脚本文件夹中
这是my_module.py文件:
print("my_module loaded")
def function_print(statement: str):
print(statement)
我知道这在启动时起作用,因为Maya中的控制台显示:
my_module loaded
FINISHED
我已成功地通过以下简单命令发送了一个命令:
cmds.polyCube()
它工作良好,甚至返回良好,我发现这很奇怪,因为我没有回显输出,所以套接字服务器按预期工作。但如果我发送:
my_module.function_print("please print this")
它不起作用,但如果我在Maya中的python命令行中编写完全相同的行,它就会起作用
这对我来说真的没有意义,我对python还相当陌生,所以我可能在这里遗漏了一些明显的东西。但我所能想到的是,套接字命令不知何故无法访问全局范围
如果有人知道这是怎么回事,我们将不胜感激
谢谢, 布伦丹
另外,我的模块和函数的名称已经为本例编成。如果这不明显的话
目前没有回答
相关问题 更多 >
编程相关推荐