Environment Variables
With a bash shell, these are set by, e.g. (on ubuntu)
extern NEURONHOME=/where/neuron/was/installed/share/nrn
NEURON_MODULE_OPTIONS
The option arguments allowed when nrniv is launched can be passed to the neuron module (
import neuron
) when python is launched by using theNEURON_MODULE_OPTIONS
environment variable. See the output ofnrniv -h
for a list of these options. The relevant options are:-NSTACK integer size of stack (default 1000) -NFRAME integer depth of function call nesting (default 200) -nogui do not send any gui info to screen and all InterViews and X11 optionsNote that the special option
-print-options
will cause the neuron module to print its options (except for that one) on first import. Also,h.nrnversion(7)
will return the effective command line indicating the options.If an arg appears multiple times, only the first will take effect.
Example:
export NEURON_MODULE_OPTIONS="-nogui -NFRAME 1000 -NSTACK 10000" python -c ' from neuron import h h(""" func add_recurse() { if ($1 == 0) { return 0 } return $1 + add_recurse($1 - 1) } """) i = 900 assert(h.add_recurse(i) == i*(i+1)/2) assert("-nogui -NFRAME 1000 -NSTACK 10000" in h.nrnversion(7)) 'As the environment variable is only used on the first import of NEURON, one can set it from within python by using
os.environ[NEURON_MODULE_OPTIONS] = "..."
as inimport sys assert('neuron' not in sys.modules) import os nrn_options = "-nogui -NSTACK 3000 -NFRAME 525" os.environ["NEURON_MODULE_OPTIONS"] = nrn_options from neuron import h assert(nrn_options in h.nrnversion(7))