Thanks for all this information... i might change my setup. We are still early in our setup phase and this info is giving me good idea on how to do my setup.
On Sat, Aug 8, 2009 at 11:18 AM, Drake <[email protected]> wrote: > > Great works! > > We do use the global userSetup.[mel,py] w/o loading local ones right > now in concern of artist's mis-usage of userSetup. But I start to > think about post-loading local startup scripts to ease TD's testing > right now. > > - Drake > > On Aug 7, 1:29 pm, chadrik <[email protected]> wrote: > > > we have local userSetup run a global userSetupAll. This way we can > > > have local functions run together with functions that are global for > > > every one. > > > > we do something similar, but the other way around. we have a global > > userSetup.py and userSetup.mel which call user's local userSetup.py > > and userSetup.mel. > > > > there are a couple of things to keep in mind: only one > > userSetup.py/.mel is executed per user, so make sure that the global > > network path is before the user's local path in PYTHONPATH and > > MAYA_SCRIPT_PATH, and make sure that maya isn't prepending any > > unexpected values to these. > > > > userSetup.py is run very early in the load process, and based on your > > symptoms, it might be running before Maya.env is parsed. i'm not > > really sure because we have a tool for dynamically setting our > > PYTHONPATH and MAYA_SCRIPT_PATH envs at the system level, prior to > > Maya launching and we don't use Maya.env at all. this makes certain > > that values are set in time. > > > > if you want to get even deeper into this, the really cool thing is you > > can check out exactly where userSetup.py is being executed: it's in > > your maya site-packages/maya/app/startup/basic.py: > > > > # module: maya.app.startup.basic > > # > > # This module is always imported during Maya's startup. It is > > imported from > > # both the maya.app.startup.batch and maya.app.startup.gui scripts > > # > > > > import maya, maya.app, maya.app.commands > > from maya import cmds, utils > > import sys, os.path, atexit > > > > def setupScriptPaths(): > > """ > > Add Maya-specific directories to sys.path > > """ > > > > # Per-version prefs scripts dir (eg .../maya8.5/prefs/scripts) > > # > > prefsDir = cmds.internalVar( userPrefDir=True ) > > sys.path.append( os.path.join( prefsDir, 'scripts' ) ) > > > > # Per-version scripts dir (eg .../maya8.5/scripts) > > # > > scriptDir = cmds.internalVar( userScriptDir=True ) > > sys.path.append( os.path.dirname(scriptDir) ) > > > > # User application dir (eg .../maya/scripts) > > # > > appDir = cmds.internalVar( userAppDir=True ) > > sys.path.append( os.path.join( appDir, 'scripts' ) ) > > > > def executeUserSetup(): > > """ > > Look for userSetup.py in the search path and execute it in the > > "__main__" > > namespace > > """ > > try: > > for path in sys.path: > > scriptPath = os.path.join( path, 'userSetup.py' ) > > if os.path.isfile( scriptPath ): > > import __main__ > > execfile( scriptPath, __main__.__dict__ ) > > except Exception, e: > > sys.stderr.write( "Failed to execute userSetup.py\n" ) > > sys.stderr.write( str( e ) ) > > > > # Set up sys.path to include Maya-specific user script directories. > > setupScriptPaths() > > > > # Set up auto-load stubs for Maya commands implemented in libraries > > which are not yet loaded > > maya.app.commands.processCommandList() > > > > # Run the user's userSetup.py if it exists > > executeUserSetup() > > > > # Register code to be run on exit > > atexit.register( maya.app.finalize ) > > > > # Set up string table instance for application > > maya.stringTable = utils.StringTable() > > > > that should really let you accurately troubleshoot this. > > > > -chad > > > > On Aug 7, 2009, at 10:24 AM, Sylvain Berger wrote: > > > > > that's a good idea... I finally when with the userSetup.mel calling > > > the network python script... Works fine > > > > > On Fri, Aug 7, 2009 at 11:50 AM, yury nedelin <[email protected]> > > > wrote: > > > > > yury > > > > > On Fri, Aug 7, 2009 at 7:44 AM, sberger <[email protected]> > > > wrote: > > > > > Hi, I have this setup for Maya 2009 > > > > > My user Pref are localed on the network m:\profiles\sylvain.berger > > > \maya > > > \... > > > in these user pref I have a maya.env file that add a network > > > MAYA_SCRIPT_PATH=m:\library\maya\scripts\ > > > > > when I put the userSetup.py in the MAYA_SCRIPT_PATH location it > > > doesn't get executed, > > > it only runs when it is in the scripts folder of my maya pref folder > > > > > I also have a PYTHONPATH in my maya.env file, and puting the > > > userSetup.py file there doesn't work as well. > > > > > It only runs when it is in my pref folder. > > > > > did anyone know how to get the userSetup.py to work outside the pref > > > folder? I would like to have a userSetup.py global to all user... I > > > think I could revert to using a userSetup.mel and call my userSetup.py > > > from the mel file... but it is not clean and I hate things that are > > > messy :) > > > > > Thanks > > > > > -- > > > "A pit would not be complete without a Freeman coming out of it." > > > The Vortigaunt > > > > > > > -- "A pit would not be complete without a Freeman coming out of it." The Vortigaunt --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/python_inside_maya -~----------~----~----~----~------~----~------~--~---
