|
Running Maya 2009 on Windows XP.
I am trying to use userSetup.py to set some Maya environment variables so Maya can load some custom shelves and their linked scripts, icons and plug-ins from a folder that Maya normally wouldn’t load shelves from.
userSetup.py
# Python imports
import os.path
# Maya imports import maya.mel as mel
# get location of local perforce depot= perforceDepot = r"C:\working\depot"
# add appropriate common tools paths to the maya environment variables environmentVariableNamesToPathsToAdd = {
"MAYA_SHELF_PATH" : r"Tools\Maya\Shelves\2009",
"MAYA_SCRIPT_PATH" : r"Tools\Maya\MelScripts",
"XBMLANGPATH" : r"Tools\Maya\Icons",
"MAYA_PLUG_IN_PATH" : r"Tools\Maya\Plugins\2009",
"PYTHONPATH" : r"Tools\Maya\Python", }
for name, path in environmentVariableNamesToPathsToAdd.items():
print name
originalPath = mel.eval( 'getenv "%s"' % name )
print "\tbefore: %s" % originalPath
modifiedPath = os.path.join( perforceDepot, path )
if originalPath != "":
modifiedPath = ";".join( (originalPath, modifiedPath) )
melCommand = 'putenv "%s" "%s"' %(name, modifiedPath)
melCommand = melCommand.replace( "\\", "\\\\" )
mel.eval( melCommand )
modifiedPath = mel.eval( 'getenv "%s"' % name )
print "\t after: %s" % modifiedPath
The output from Maya’s Output Window looks correct…
MAYA_SCRIPT_PATH
before: C:/Documents and Settings/Rob/My Documents/maya/projects/default/mel;C:/Documents and Settings/Rob/My Documents/maya/2009/scripts;C:/Documents and Settings/Rob/My Documents/maya/scripts;C:/Documents and Settings/Rob/My Documents/maya/2009/presets;C:/Documents and Settings/Rob/My Documents/maya/2009/prefs/shelves;C:/Documents and Settings/Rob/My Documents/maya/2009/prefs/markingMenus;C:/Documents and Settings/Rob/My Documents/maya/2009/prefs/scripts;C:/Program Files/Autodesk/Maya2009/scripts;C:/Program Files/Autodesk/Maya2009/scripts/startup;C:/Program Files/Autodesk/Maya2009/scripts/others;C:/Program Files/Autodesk/Maya2009/scripts/AETemplates;C:/Program Files/Autodesk/Maya2009/scripts/unsupported;C:/Program Files/Autodesk/Maya2009/scripts/paintEffects;C:/Program Files/Autodesk/Maya2009/scripts/fluidEffects;C:/Program Files/Autodesk/Maya2009/scripts/hair;C:/Program Files/Autodesk/Maya2009/scripts/cloth;C:/Program Files/Autodesk/Maya2009/scripts/live;C:/Program Files/Autodesk/Maya2009/scripts/fur;C:/Program Files/Autodesk/Maya2009/scripts/muscle
after: C:/Documents and Settings/Rob/My Documents/maya/projects/default/mel;C:/Documents and Settings/Rob/My Documents/maya/2009/scripts;C:/Documents and Settings/Rob/My Documents/maya/scripts;C:/Documents and Settings/Rob/My Documents/maya/2009/presets;C:/Documents and Settings/Rob/My Documents/maya/2009/prefs/shelves;C:/Documents and Settings/Rob/My Documents/maya/2009/prefs/markingMenus;C:/Documents and Settings/Rob/My Documents/maya/2009/prefs/scripts;C:/Program Files/Autodesk/Maya2009/scripts;C:/Program Files/Autodesk/Maya2009/scripts/startup;C:/Program Files/Autodesk/Maya2009/scripts/others;C:/Program Files/Autodesk/Maya2009/scripts/AETemplates;C:/Program Files/Autodesk/Maya2009/scripts/unsupported;C:/Program Files/Autodesk/Maya2009/scripts/paintEffects;C:/Program Files/Autodesk/Maya2009/scripts/fluidEffects;C:/Program Files/Autodesk/Maya2009/scripts/hair;C:/Program Files/Autodesk/Maya2009/scripts/cloth;C:/Program Files/Autodesk/Maya2009/scripts/live;C:/Program Files/Autodesk/Maya2009/scripts/fur;C:/Program Files/Autodesk/Maya2009/scripts/muscle;C:/working/depot/Tools/Maya/MelScripts
MAYA_PLUG_IN_PATH
before: C:/Documents and Settings/Rob/My Documents/maya/2009/plug-ins;C:/Documents and Settings/Rob/My Documents/maya/plug-ins;C:/Program Files/Autodesk/Maya2009/bin/plug-ins
after: C:/Documents and Settings/Rob/My Documents/maya/2009/plug-ins;C:/Documents and Settings/Rob/My Documents/maya/plug-ins;C:/Program Files/Autodesk/Maya2009/bin/plug-ins;C:/working/depot/Tools/Maya/Plugins/2009
XBMLANGPATH
before: C:/Documents and Settings/Rob/My Documents/maya/2009/prefs/icons;C:/Documents and Settings/Rob/My Documents/maya/prefs/icons;C:/Program Files/Autodesk/Maya2009/icons;C:/Program Files/Autodesk/Maya2009/app-defaults;C:/Program Files/Autodesk/Maya2009/icons/paintEffects;C:/Program Files/Autodesk/Maya2009/icons/fluidEffects;C:/Program Files/Autodesk/Maya2009/icons/hair;C:/Program Files/Autodesk/Maya2009/icons/cloth;C:/Program Files/Autodesk/Maya2009/icons/live;C:/Program Files/Autodesk/Maya2009/icons/fur;C:/Program Files/Autodesk/Maya2009/icons/muscle
after: C:/Documents and Settings/Rob/My Documents/maya/2009/prefs/icons;C:/Documents and Settings/Rob/My Documents/maya/prefs/icons;C:/Program Files/Autodesk/Maya2009/icons;C:/Program Files/Autodesk/Maya2009/app-defaults;C:/Program Files/Autodesk/Maya2009/icons/paintEffects;C:/Program Files/Autodesk/Maya2009/icons/fluidEffects;C:/Program Files/Autodesk/Maya2009/icons/hair;C:/Program Files/Autodesk/Maya2009/icons/cloth;C:/Program Files/Autodesk/Maya2009/icons/live;C:/Program Files/Autodesk/Maya2009/icons/fur;C:/Program Files/Autodesk/Maya2009/icons/muscle;C:/working/depot/Tools/Maya/Icons
MAYA_SHELF_PATH
before:
after: C:/working/depot/Tools/Maya/Shelves/2009
PYTHONPATH
before:
after: C:/working/depot/Tools/Maya/Python
...but I do not see the custom shelves loaded as I would expect.
As a test, I removed the userSetup.py file and tried doing the same thing with a Maya.env file.
MAYA_SHELF_PATH = C:\working\depot\Tools\Maya\Shelves\2009
MAYA_SCRIPT_PATH = C:\working\depot\Tools\Maya\MelScripts
XBMLANGPATH = C:\working\depot\Tools\Maya\Icons
MAYA_PLUG_IN_PATH = C:\working\depot\Tools\Maya\Plugins\2009
PYTHONPATH = C:\working\depot\Tools\Maya\Python
This approach works. Why does setting the environment values in userSetup.py seem to work, but not load the custom shelves?
|