To elaborate on Williams’ answer a bit more, the expected workflow is to enter the virtualenv using pipenv shell
. When you activate the virtualenv that way, the console output now indicates to use exit
:
Spawning environment shell (/bin/zsh). Use ‘exit’ to leave.
Trying to exit the virtualenv with deactivate
will leave pipenv in a confused state because you will still be in that spawned shell instance but not in an activated virtualenv.