I was sorely disappointed with pipenv, and transitioned to poetry [1], with which I’ve been very satisfied. There is also some commentary in the README on the design decisions re: pipenv [3]. Contrary to the author's perspective on poetry using poetry-specific sections of pyproject.toml, that's actually the proper implementation (and expected usage) coming out of PEP-518.
I also am a big fan of pyenv [3] but that’s of course to manage Python versions (not environments)
I also am a big fan of pyenv [3] but that’s of course to manage Python versions (not environments)
[1] https://github.com/sdispater/poetry
[2] https://github.com/sdispater/poetry#what-about-pipenv
[3] https://github.com/pyenv/pyenv