Go to your account and manage your group submissions:
https://groups.google.com/forum/?fromgroups#!forum/python_inside_maya



On Sep 18, 2012, at 10:18 AM, "Mr.sp jangid" <[email protected]> 
wrote:

> please unsubscribe me by this group
> 
> thnx
> 
> 
> 
> 
> 
> On Tue, Sep 18, 2012 at 8:57 PM, Justin Israel <[email protected]> wrote:
> For the print statement, I believe the script editor is not yet connected to 
> stdout at the time you call print in userSetup.py
> If, for instance, you check the Console app on OSX you will see those print 
> statements when you start Maya. If you were to print deferred until the next 
> idle moment, then you would see them in the Script Editor:
> 
> import maya.utils
> maya.utils.executeDeferred('print "FOO"')
> 
> You are correct in your second question that it is a matter of scope. Python 
> modules each have their own scope. You must explicitly import other modules 
> to bring them into scope. They will only import once per app, as subsequent 
> imports will just lookup the name.
> userSetup.py is not imported into Maya. It is executed into Maya's global app 
> namespace, which is the same namespace as the script editor. If you include 
> import statements in userSetup.py, they will be available from the Script 
> Editor. But your other scripts always need to import them. This is more of a 
> general python matter as opposed to being Maya-specific.
> I add the import statements to my userSetup for convenience when developing, 
> so that I don't have to constantly import them to the script editor each time.
> 
> 
> 
> On Sep 18, 2012, at 1:59 AM, ben cowell-thomas wrote:
> 
>> Hello,
>> 
>> A basic question that has me stumped. I'm using userSetup.py and I'm 
>> confused about scope. I've probably overcomplicated a simple task .. but I'm 
>> trying to understand how userSetup.py works so I've put part of my setup 
>> into a module. 
>> 
>>  userSetup.py contains the following:
>> 
>> import maya.cmds as cmds
>> print "--- Executing C:\Users\ben.c\Documents\maya\scripts\userSetup.py ---"
>> import eclipseConnection
>> eclipseConnection.startUpFunc()
>> 
>> eclipseConnection.py contains:
>> 
>> import maya.utils as utils
>> 
>> def startUpFunc():
>>      print "--- Executing 
>> C:\Users\ben.c\Documents\maya\scripts\eclipseConnection.py ---"
>>      if cmds.commandPort(':7720', q=True) !=1:
>>              cmds.commandPort(n=':7720', eo = False, nr = True)
>> 
>> Firstly I don't ever see the result of the print commands on startup. Is 
>> this normal ?
>> 
>> Secondly and more importantly I find that when troubleshooting, if I 
>> manually execute eclipseConnection.startUpFunc() after startup, Maya 
>> reports: 
>> 
>> # Error: NameError: global name 'cmds' is not defined #
>> 
>> Now I would expect cmds to work fine within eclipseConnection as if I type 
>> 'cmds' manually I see:
>> 
>> # Result: <module 'maya.cmds' from 'C:\Program 
>> Files\Autodesk\Maya2011\Python\lib\site-packages\maya\cmds\__init__.py'> #
>> 
>> 
>> My questions are .. why don't I see the result of the print commands on 
>> startup (even though I know userSetup.py is running as cmds exists), and 
>> secondly why can't my module access maya.cmds even though I believe it be 
>> defined globablly ?
>> 
>> thank you
>> ben 
>> 
>> -- 
>> view archives: http://groups.google.com/group/python_inside_maya
>> change your subscription settings: 
>> http://groups.google.com/group/python_inside_maya/subscribe
> 
> -- 
> view archives: http://groups.google.com/group/python_inside_maya
> change your subscription settings: 
> http://groups.google.com/group/python_inside_maya/subscribe
> 
> -- 
> view archives: http://groups.google.com/group/python_inside_maya
> change your subscription settings: 
> http://groups.google.com/group/python_inside_maya/subscribe

-- 
view archives: http://groups.google.com/group/python_inside_maya
change your subscription settings: 
http://groups.google.com/group/python_inside_maya/subscribe

Reply via email to