BrainPy is designed to run on across-platforms, including Windows,
GNU/Linux and OSX. It only relies on Python libraries.
You can install
BrainPy from the pypi.
To do so, use:
pip install brain-py
If you try to update the BrainPy version, you can use
pip install -U brain-py
If you want to install the pre-release version (the latest development version) of BrainPy, you can use:
pip install --pre brain-py
To do so, use:
pip install git+https://github.com/PKU-NIP-Lab/BrainPy # or pip install git+https://git.openi.org.cn/OpenI/BrainPy
In order to make BrainPy work normally, users should install several dependent Python packages.
pip install numpy matplotlib # or conda install numpy matplotlib
We highly recommend you to install JAX. JAX is a high-performance JIT compiler which enables users run Python code on CPU, GPU, or TPU devices. Most functionalities of BrainPy is based on JAX.
Currently, JAX supports Linux (Ubuntu 16.04 or later) and macOS (10.12 or later) platforms. The provided binary releases of JAX for Linux and macOS systems are available at https://storage.googleapis.com/jax-releases/jax_releases.html .
To install a CPU-only version of JAX, you can run
pip install --upgrade "jax[cpu]"
pip install --upgrade "jax[cuda]" -f https://storage.googleapis.com/jax-releases/jax_releases.html
Alternatively, you can download the preferred release “.whl” file, and install it via
pip install xxxx.whl
For Windows users, JAX can be installed by the following methods:
Method 1: For Windows 10+ system, you can Windows Subsystem for Linux (WSL). The installation guide can be found in WSL Installation Guide for Windows 10. Then, you can install JAX in WSL just like the installation step in Linux.
Method 2: There are several community supported Windows build for jax, please refer to the github link for more details: https://github.com/cloudhan/jax-windows-builder . Simply speaking, you can run:
# for only CPU pip install jaxlib -f https://whls.blob.core.windows.net/unstable/index.html # for GPU support pip install <downloaded jaxlib>
Method 3: You can also build JAX from source.
Numba is also an excellent JIT compiler, which can accelerate your Python codes to approach the speeds of C or FORTRAN. Numba works best with NumPy. Many BrainPy modules rely on Numba for speed acceleration, such like connectivity, simulation, analysis, measurements, etc. Numba is also a suitable framework for the computation of sparse synaptic connections commonly used in the computational neuroscience project.
Numba is a cross-platform package which can be installed on Windows, Linux, and macOS. Install Numba is a piece of cake. You just need type the following commands in you terminal:
pip install numba # or conda install numba
In BrainPy, several modules need the symbolic inference by SymPy. For example, Exponential Euler numerical solver needs SymPy to compute the linear part of your defined Python codes, phase plane and bifurcation analysis in dynamics analysis module needs symbolic computation from SymPy. Therefore, we highly recommend you to install sympy, just typing
pip install sympy # or conda install sympy