Install numpy (and optionally matplotlib) into the Python you run.
A package is reusable code someone else wrote that you import into your own. numpy, which the builds use for arrays and maths, is a package.
pip is Python's package installer. It fetches a package and installs it into your Python so that import can find it.
A virtual environment is an isolated set of packages for one project, so two projects do not fight over versions. It is optional for the builds, but it keeps things tidy and avoids permission problems. The concept matters more than any one command.
# optional: create and activate a virtual environment for this project
python3 -m venv .venv
# then activate it (the activate command differs by OS)
# install what B1 needs
python3 -m pip install numpy
# optional, only if you want plots rather than printed output
python3 -m pip install matplotlib
# verify it imports
python3 -c "import numpy; print(numpy.__version__)"
Using python3 -m pip rather than bare pip installs into the same Python you run scripts with, which avoids the most common mix-up.
B1 can print its progress to the console instead of drawing a plot, so you can skip matplotlib entirely if you prefer.
import numpy fails after installing, pip likely targeted another Python. Use python3 -m pip install ... to match the one you run.--user flag over installing system-wide with elevated permissions.