首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设置MAYA_SCRIPT_PATH不能为maya指定新的脚本目录

设置MAYA_SCRIPT_PATH不能为maya指定新的脚本目录
EN

Stack Overflow用户
提问于 2018-06-23 19:40:49
回答 3查看 832关注 0票数 0

这是我的Maya.env

代码语言:javascript
运行
复制
λ cat C:\Users\roroco\Documents\maya\2018\Maya.env
MAYA_SCRIPT_PATH=C:/Users/roroco/OneDrive/maya/script
MAYA_PLUGIN_IN_PATH=C:/Users/roroco/OneDrive/maya/plugin

我确信我的脚本是存在的:

代码语言:javascript
运行
复制
λ cat C:\Users\roroco\OneDrive\maya\script\ro.py
def init():
    print("prpr")

在maya脚本编辑器中,我的脚本目录存在于MAYA_PATH_DIR中

代码语言:javascript
运行
复制
getenv MAYA_SCRIPT_PATH;
// Result: C:/Users/roroco/Documents/maya/projects/default/scripts;C:/Users/roroco/OneDrive/maya/script;C:/Users/roroco/Documents/maya/2018/scripts;C:/Users/roroco/Documents/maya/scripts;C:/Users/roroco/Documents/maya/2018/presets;C:/Users/roroco/Documents/maya/2018/prefs/shelves;C:/Users/roroco/Documents/maya/2018/prefs/markingMenus...

但当我在脚本编辑器中使用import ro时,它会引发:

代码语言:javascript
运行
复制
# Error: ImportError: file <maya console> line 1: No module named ro # 

我希望我可以写我的maya脚本和自动同步到onedrive,我应该怎么做我不理解maya doc说我可以设置MAYA_SCRIPT_PATH为什么它不工作

EN

回答 3

Stack Overflow用户

发布于 2018-06-23 22:35:21

我的临时解决方案是在maya启动脚本中添加我的script_dir

在C:\Users\roroco\Documents\maya\scripts\userSetup.py,中添加以下代码:

代码语言:javascript
运行
复制
import imp
import os
imp.load_source("", "c:/users/" + os.environ["USERNAME"] + "/OneDrive/maya/script/userSetup.py")

在my_script_dir/userSetup.py中,将my_script_dir添加到sys.path

代码语言:javascript
运行
复制
import sys
import os

ro_script = os.path.dirname(__file__)
if ro_script not in sys.path:
    sys.path.insert(0, ro_script)
票数 0
EN

Stack Overflow用户

发布于 2018-06-24 01:28:06

您应该能够使用sys.path.insertsys.path.append将python路径动态添加到正在运行的maya。您不需要做比这更复杂的事情;如果脚本位于sys路径上,那么它应该是可导入的。

你想要做的是使用maya模块,这是一个非常常见和干净的解决方案。模块将允许您附加到通常的搜索目录,并且它们支持网络共享-因此您需要添加一个模块(在maya模块路径中),并将其脚本目录指向onedrive。模块也可以有自己的userSetup.pys,这对于保持代码和运行在特定机器上的任何其他东西之间的清晰分离是非常好的。

有关模块herehere的更多信息。文档是here格式的

票数 0
EN

Stack Overflow用户

发布于 2018-06-24 11:11:43

您不应该必须通过userSetup.py动态添加路径。

确保在Maya.env中包含PYTHONPATH

PYTHONPATH=C:\Users\roroco\OneDrive\maya\script

检查我的Windows home设置,我在Maya.env中使用了反斜杠,所以你可以看看切换是否有帮助。检查您的sys.path以查看目录是否在那里,而不是检查MAYA_PATH_DIR。所有Python模块都需要位于以下目录之一中才能导入:

代码语言:javascript
运行
复制
import sys

for p in sys.path:
    print p

您还可以将路径复制并粘贴到os.path.exists,以确认它确实存在。有时它是正确的路径,但斜杠使它无法正确解析。

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

https://stackoverflow.com/questions/51000807

复制
相关文章

相似问题

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