我尝试了几个文档页面上解释的所有方法。
我修改了 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结束环境变量,但未加载代码。
答案 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>
流行的方法是:
userSetup.py
中执行。 @AriGold的示例可行,但我更喜欢使用site
模块和site.addsitedir('path/to/someplace')
,因为您可以在目标目录中使用.pth文件,使其尽可能复杂;有关pth文件的详细信息,请参阅this question。