这是我的Maya.env
λ 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我确信我的脚本是存在的:
λ cat C:\Users\roroco\OneDrive\maya\script\ro.py
def init():
print("prpr")在maya脚本编辑器中,我的脚本目录存在于MAYA_PATH_DIR中
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时,它会引发:
# Error: ImportError: file <maya console> line 1: No module named ro # 我希望我可以写我的maya脚本和自动同步到onedrive,我应该怎么做我不理解maya doc说我可以设置MAYA_SCRIPT_PATH为什么它不工作
发布于 2018-06-23 22:35:21
我的临时解决方案是在maya启动脚本中添加我的script_dir
在C:\Users\roroco\Documents\maya\scripts\userSetup.py,中添加以下代码:
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
import sys
import os
ro_script = os.path.dirname(__file__)
if ro_script not in sys.path:
sys.path.insert(0, ro_script)发布于 2018-06-24 01:28:06
发布于 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模块都需要位于以下目录之一中才能导入:
import sys
for p in sys.path:
print p您还可以将路径复制并粘贴到os.path.exists,以确认它确实存在。有时它是正确的路径,但斜杠使它无法正确解析。
https://stackoverflow.com/questions/51000807
复制相似问题