[Sidefx-houdini-list] Python modules scope in Houdini
captainhammy at gmail.com
Tue Apr 26 22:11:48 EDT 2011
They aren't really shared. The main namespace is the one accessible
from the Python Shell windows and is the one setup when you do things
in the pythonrc.py file. Parameter expressions, tools, parameter
expressions and callbacks use different namespaces. For example, the
parm expression one by default does an 'from hou import *'. Most
don't have anything special though. In order to use things out of the
main namespace you need to have the following 'import __main__' and
then call '__main__.mymodule.myfunc()'. This works from all the other
Some more details, mainly for parameter expressions but applicable to
things such as Python modules or other event handlers:
2011/4/26 Pablo Giménez <pablogipi at gmail.com>:
> Hi all.
> I have a Python package with several modules which I load using in my
> Basically I have just one line>
> import myPackage
> Well this package has a __init__.py script with seveal stataments to
> be executed on initialization.
> I know that for the same Python session modules are loaded just one
> time, so if you import it several times it will keep only the first
> But I am not what is the scope of the Python inerpreter launched by
> Houdini. The one you use when you open the Python console.
> For instance if I a want to use a function from this package for a
> menu script for a parameter I have to import my package again, whereas
> if I use it in a Python console I dont need to do it.
> So I am wondering if Houdini shares the same python session across all
> the places where python can be used, or are situations where the
> python session is diferent and a new interpreter is launched.
> Un saludo
> Best Regards
> Pablo Giménez
> Sidefx-houdini-list mailing list
> Sidefx-houdini-list at sidefx.com
More information about the Sidefx-houdini-list