7
$\begingroup$

Our renderfarm is running Blender from the network. How can I enable addons on startup without saving user preferences for each node?

The following works when I run it from Blender REPL during a regular Blender session. I thought I would easily add a script in script/startup and run:

import addon_utils
addon_utils.enable("animation_nodes")

But it doesn't find the addon. Maybe the startup script is run before the addons are scanned? Any ideas?

What would be the best way then to enable it for all the rendernodes?

$\endgroup$
4
  • $\begingroup$ Maybe an addon should be installed first, before ebeing able to enable it. The blender install should perfectly know where all addon files are, and its exact name to use in python (or gui) to enable/disable it. Are you sure it is? $\endgroup$
    – m.ardito
    Oct 7, 2015 at 15:23
  • $\begingroup$ please see the updated question. $\endgroup$
    – knekke
    Oct 7, 2015 at 18:50
  • $\begingroup$ i've simplified the question again. $\endgroup$
    – zeffii
    Oct 7, 2015 at 20:35
  • $\begingroup$ thanks!... actually all would be fine, if USER settings would override LOCAL settings: blender.stackexchange.com/questions/19534/… ... that would solve so many problems for me $\endgroup$
    – knekke
    Oct 8, 2015 at 6:49

1 Answer 1

9
+50
$\begingroup$

You can enable a comma-separated list of addons through the command line/terminal, so you're able to do that through a script. That functionality is described in the blender terminal help (./blender --help).

An example would be ./blender -b --addons animation_nodes,meshlint [file] to enable animation nodes and meshlint, then load your file.

If you need to load a single python script, such as a set of operations you want to use on a mesh object, you can use the --python flag. ./blender -b --addons animation_nodes,meshlint [file] --python [myscript.py] loads blender in the background, loads specified addons, loads the file, then executes the python script.

Unfortunately, the wiki is not helpful here; it only goes over basic rendering functionality. Simply call the help flag to see everything the executable can do from the terminal. A specific thing to remember is that flags are order-sensitive. Those flags listed first will be interpreted first, sequentially until the end of the command.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .