Importing Brian
After installation, Brian is available in the brian2
package. By doing a
wildcard import from this package, i.e.:
from brian2 import *
you will not only get access to the brian2
classes and functions, but also
to everything in the pylab
package, which includes the plotting functions
from matplotlib and everything included in numpy/scipy (e.g. functions such
as arange
, linspace
, etc.). Apart from this when you use the wildcard
import, the builtin input
function is overshadowed by the input
module in the
brian2
package. If you wish to use the builtin input
function in your program
after importing the brian2 package then you can explicitly import the input
function
again as shown below:
from brian2 import *
from builtins import input
The following topics are not essential for beginners.
Precise control over importing
If you want to use a wildcard import from Brian, but don’t want to import all
the additional symbols provided by pylab
or don’t want to overshadow the
builtin input
function, you can use:
from brian2.only import *
Note that whenever you use something different from the most general
from brian2 import *
statement, you should be aware that Brian overwrites
some numpy functions with their unit-aware equivalents
(see Units). If you combine multiple wildcard imports, the
Brian import should therefore be the last import. Similarly, you should not
import and call overwritten numpy functions directly, e.g. by using
import numpy as np
followed by np.sin
since this will not use the
unit-aware versions. To make this easier, Brian provides a brian2.numpy_
package that provides access to everything in numpy but overwrites certain
functions. If you prefer to use prefixed names, the recommended way of doing
the imports is therefore:
import brian2.numpy_ as np
import brian2.only as br2
Note that it is safe to use e.g. np.sin
and numpy.sin
after a
from brian2 import *
.
Dependency checks
Brian will check the dependency versions during import and raise an error for
an outdated dependency. An outdated dependency does not necessarily mean that
Brian cannot be run with it, it only means that Brian is untested on that
version. If you want to force Brian to run despite the outdated dependency, set
the core.outdated_dependency_error preference to False
. Note that this
cannot be done in a script, since you do not have access to the preferences
before importing brian2
. See Preferences for instructions
how to set preferences in a file.