Yea I too have my experiences with 5-minute Nuke loads from overzealous
devs :)

On Tue, Nov 18, 2014 at 4:47 PM, Frank Rueter|OHUfx <fr...@ohufx.com> wrote:

>  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>
> 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>
>> 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 listnuke-pyt...@support.thefoundry.co.uk, 
>>> http://forums.thefoundry.co.uk/http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>
>>>
>>> --
>>>   [image: 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, http://forums.thefoundry.co.uk/
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>
>>>
>>
>>
>>  _______________________________________________
>> Nuke-python mailing listnuke-pyt...@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.hezer@studiorakete.deTel:+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 / 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, http://forums.thefoundry.co.uk/
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>
>>
>
>
> _______________________________________________
> Nuke-python mailing listnuke-pyt...@support.thefoundry.co.uk, 
> http://forums.thefoundry.co.uk/http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
>
> --
>   [image: 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
>
>
_______________________________________________
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

Reply via email to