将用户脚本文件夹添加到Maya

时间:2016-09-06 11:13:47

标签: python python-2.7 maya mel

我尝试了几个文档页面上解释的所有方法。

我修改了 userSetup.mel 文件,并使用以下代码添加了该文件夹:

string $s = `getenv MAYA_SCRIPT_PATH` + ";C:/MyScripts";
putenv "MAYA_SCRIPT_PATH" $s;

它没有用。我也试着做一个" rehash"在做了putenv之后。

我删除了那个userSetup.mel文件并使用这个其他变量修改了 maya.env 文件(因为如果我这样做,它会破坏maya,因为它会覆盖它拥有的一切)

USER_SCRIPT_PATH = C:/MyScripts

当我执行任何操作时#34;导入文件夹"在python选项卡上。文件夹位于MyScripts文件夹中,并且所有文件夹都有一个init文件。它不是python错误,此文件夹在maya / scripts文件夹下工作。

不清楚为什么USER_SCRIPT_PATH在文档中的任何地方都没有作为官方变量被提及,没有关于其中任何一个有效的信息。该文件夹使用MEL上的getenv结束环境变量,但未加载代码。

3 个答案:

答案 0 :(得分:1)

您还可以添加以下路径:

null

如果您希望maya从这个env开始,您需要一个批处理文件(包含所有自定义环境路径,如arnold或houdini引擎或您自己的插件)或包装器(更多用于具有不同maya设置的管道,如maya等不同部门-modeling或maya-fx)。这是默认的env路径......

import sys
sys.path.append("C:/MyScripts")

import my_module
reload(my_module)
my_module.run()

答案 1 :(得分:0)

在找到userSetup.mel的同一个地方,您可以创建一个userSetup.py并在maya的开头执行任何导入或执行任何脚本。

答案 2 :(得分:0)

您不希望在Maya启动并运行后设置环境变量,这是您在mel示例中所做的。您希望在maya开始寻找实际脚本之前配置它。通常,大多数使用env vars的程序在启动时读取它们并且不识别程序运行时所做的更改 - 这就是为什么在Windows中,例如在从GUI更改env var之后需要重新启动dos窗口。 / p>

流行的方法是:

  1. 从设置var的.bat文件启动,然后运行maya。这允许您在需要时使用不同的设置并排运行多个mayas
  2. 用maya.env做;这将所有信息放在一个地方
  3. 对于python,请在userSetup.py中执行。 @AriGold的示例可行,但我更喜欢使用site模块和site.addsitedir('path/to/someplace'),因为您可以在目标目录中使用.pth文件,使其尽可能复杂;有关pth文件的详细信息,请参阅this question
  4. 使用Maya module,不仅可以设置脚本路径,还可以设置所有其他路径(位图,插件等)>