By making Jupyter aware of a specific version of python inside a virtual environment you can have more reproducible code and avoid conflicts introduced by third party packages when they are inevitably updated. You can keep your python version and third party libraries isolated from your OS and use it within Jupyter for a dynamic programming environment.
ReadHow to initialize and use a virtual environment in Python using the built-in venv module
Read