keep in mind that loading many python modules can slow down the launch
process considerably, which is why I personally avoid fully automated
setups at least in environments where many people can add sub
directories and save heaps of python code everywhere that will then slow
down Nuke during startup.
On 19/11/14 7:26 am, Matthew Doll wrote:
Sweeeeet. Thanks!
On Tue, Nov 18, 2014 at 12:25 AM, Johannes Hezer
<j.he...@studiorakete.de <mailto:j.he...@studiorakete.de>> wrote:
I personally like Franks approach too.
From Nuke 7 onward i believe you can do this...
it adds all subdirectories under an init.py
import os
currentDir=os.path.dirname(__file__)
pluginFolders=os.listdir(currentDir)
for i in pluginFolders:
if os.path.isdir(os.path.join(currentDir,i)):
nuke.tprint('loaded %s' % os.path.join(currentDir,i))
nuke.pluginAddPath(os.path.join(currentDir,i))
init.py
gizmos/
python/
icons/
toolsets/
callbacks/
.../
this way you can create your folder structure and dont have to
worry about changing the init all the time...
cheers
johannes
On 11/18/2014 05:31 AM, Matthew Doll wrote:
Great, thanks, I'll look into the namespaces stuff which I'm not
very familiar with. I can strongarm (and in fact, have done so)
all this stuff, just want to find a more robust/elegant way, I'll
look into the suggestions replied here. Thanks.
On Mon, Nov 17, 2014 at 5:20 PM, Frank Rueter|OHUfx
<fr...@ohufx.com <mailto:fr...@ohufx.com>> wrote:
>>-Is there a way to have Nuke use the entire subdirectory
for the pluginAddPath? E.G., only need '/WORK
>>/Nuke/IN_PRODUCTION/' and not the other two?
No, you have to explicitly add the directories. There are
scripts hovering around that are triggered via the menu.py
that recurse through the sub tree and run nuke.pluginAddPath
on each one, so you can totally roll your own logic here.
I personally prefer setting the path to the main repository
via an environment variable on each machine, then using
nuke.pluginAddPath in a init.py within that main repo to load
sub directories. But that's just me.
>>-Under /scripts/ I have several .py files, do I need to
explicitly "from myscript1 import *" for every file in that
folder, or is
>>there a way to bring in all files under that dir?
It depends on how you want to organise yourcode. There are
several ways to manage your files via name spaces. Have a
read about packages here:
https://docs.python.org/2/tutorial/modules.html
>>-Do I need to explicitly import appropriate modules for
each script in .py file itself? E.G. myscript1.py calls
nuke.XYZ(), if I
>>don't put "import nuke" in that file it throws an error,
but "import nuke" is called ahead of myscript1.py in the
menu.py file...
you have to import the module into the name space you are
trying to access it from. When the menu.py does "import
nuke", that module is imported to a different name space than
your code is run from (i.e. scripts.myscripts1)
On 18/11/14 9:45 am, Matthew Doll wrote:
Hiya folks, I'm certain this has been answered but I cannot
find it in the archives...
I am trying to append my plugin path to a generic dumping
ground like so:
nuke.pluginAddPath('/WORK/Nuke/IN_PRODUCTION/')
nuke.pluginAddPath('/WORK/Nuke/IN_PRODUCTION/nodes/')
nuke.pluginAddPath('/WORK/Nuke/IN_PRODUCTION/scripts/')
Under '/WORK/Nuke/IN_PRODUCTION/' I have a menu.py where I
want to import all the nodes under /nodes/ and scripts under
/scripts/
My question is threefold:
-Is there a way to have Nuke use the entire subdirectory for
the pluginAddPath? E.G., only need
'/WORK/Nuke/IN_PRODUCTION/' and not the other two?
-Under /scripts/ I have several .py files, do I need to
explicitly "from myscript1 import *" for every file in that
folder, or is there a way to bring in all files under that dir?
-Do I need to explicitly import appropriate modules for each
script in .py file itself? E.G. myscript1.py calls
nuke.XYZ(), if I don't put "import nuke" in that file it
throws an error, but "import nuke" is called ahead of
myscript1.py in the menu.py file...
Thanks,
Matt
_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk
<mailto:Nuke-python@support.thefoundry.co.uk>,http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
--
ohufxLogo 50x50 <http://www.ohufx.com> *vfx compositing
<http://ohufx.com/index.php/vfx-compositing> | *workflow
customisation and consulting
<http://ohufx.com/index.php/vfx-customising>* *
_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk
<mailto:Nuke-python@support.thefoundry.co.uk>,
http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________ Nuke-python
mailing list Nuke-python@support.thefoundry.co.uk
<mailto:Nuke-python@support.thefoundry.co.uk>,
http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
____ ESET 10736 (20141117) ____
The message was checked by ESET Mail Security.
--
STUDIO RAKETE GmbH
Johannes Hezer, Compositing TD & Stereoscopic SV
Schomburgstr. 120
D - 22767 Hamburg
j.he...@studiorakete.de <mailto:j.he...@studiorakete.de>
Tel:+49 (0)40 - 380 375 69 - 0
Fax:+49 (0)40 - 380 375 69 - 99
------------------------------------------------------
Pflichtangaben laut Handelsgesetzbuch und GmbH-Gesetz:
STUDIO RAKETE GmbH
Schomburgstr. 120 D - 22767 Hamburg
www.studiorakete.de <http://www.studiorakete.de> /i...@studiorakete.de
<mailto:i...@studiorakete.de>
Geschaeftsfuehrer: Jana Bohl
Die Gesellschaft ist eingetragen im Handelregister des
Amtsgerichts Hamburg unter der Nummer HR B 95660
USt.-ID Nr.: DE 245787817
____ ESET 10740 (20141118) ____
The message was checked by ESET Mail Security.
_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk
<mailto:Nuke-python@support.thefoundry.co.uk>,
http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
--
ohufxLogo 50x50 <http://www.ohufx.com>
*vfx for storytellers <http://www.ohufx.com>*
*vfx compositing <http://ohufx.com/index.php/vfx-compositing> |
*workflow customisation & consulting
<http://ohufx.com/index.php/vfx-customising>* *
**
_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python