首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用evalDeferred创建启动Maya并在启动时调用python脚本的.bat文件?

如何使用evalDeferred创建启动Maya并在启动时调用python脚本的.bat文件?
EN

Stack Overflow用户
提问于 2020-07-16 12:34:13
回答 2查看 963关注 0票数 0

我正在尝试运行python脚本,当打开.bat文件以启动Maya时,该脚本将在Maya中创建自定义菜单。python脚本不在Maya项目中,我想在批处理文件中添加路径。我在.bat文件中有以下内容:

代码语言:javascript
复制
start D:\TOOLS\Maya2019\bin\maya.exe -command evalDeferred(python('execfile(\"D:\CustomMenu_startup.py\")'))

已经尝试了几次,但返回了一个语法错误。

EN

回答 2

Stack Overflow用户

发布于 2020-07-16 18:02:42

可通过以下方式解决:

代码语言:javascript
复制
start D:\TOOLS\Maya2019\bin\maya.exe -command evalDeferred(python(\"execfile('D:\\CustomMenu_startup.py')\"))
票数 0
EN

Stack Overflow用户

发布于 2020-07-17 04:47:51

我建议,作为一条规则,最好将延迟计算推入python本身。这样,您就不必在所有三种语言(BAT、MEL和Python)中考虑它。

在Maya主事件循环开始之前,您可能还可以执行某些工作,这将节省一些启动时间--在接触Maya UI或场景之前,will是安全的选择,但您可能有其他作业(如下载文件或检查用户磁盘)可以在Maya本身仍在加载时安全地完成。这是在Python中而不是在最外层的MEL调用中执行延迟部分的另一个原因。

如果您对生成这样的启动器感兴趣,可以简单地分发mel文件而不是BAT;MEL可由Maya作为文件参数执行,因此命令行将变得更简单,如果设置了正确的文件关联,则可以双击它。

您可能还想查看这些关于如何为Maya创建python启动器的博客文章:https://theodox.github.io/2018/pythonception#pythonception https://theodox.github.io/2018/keystone#keystone

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

https://stackoverflow.com/questions/62927513

复制
相关文章

相似问题

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