My answer is based on previous answers, but I found one more step was necessary (pipenv install notebook). So in total:
Step 1. On terminal, first install both jupyter and (jupyter) notebook. In my experience, the latter had to be explicitly installed:
pipenv install jupyter notebook
Step 2. Install the Pipenv kernelspec for jupyter (modified from u-phoria's comment).
pipenv run python -m ipykernel install --user --name=`basename $VIRTUAL_ENV`
Now the following should work:
pipenv run jupyter notebook
Note: If in the Pipenv shell for the virtual environment, pipenv run can be removed from the above. If Pipenv is being forced to ignore virtual environments, the run commands should be run in the shell for the environment
For the original question of using Atom, it can then be run by this pipenv: