Python Virtual Environment Tools
Debates comparing traditional tools like virtualenv, venv, and pip to modern alternatives such as Poetry, Pipenv, PDM, pyenv, and Conda for managing Python dependencies and isolated environments.
Activity Over Time
Top Contributors
Keywords
Sample Comments
What's wrong with just using virtualenv. I never used anything else, and I never felt the need to. Maybe it's not as shipping l shiny as the other tools, but it just works.
pipenv is a sort of a spliced-together pip and virtualenv, give it a try!
That's what virtualenvs are for. Admittedly they're not a perfect solution but the tooling is quite good nowadays.
Interesting take. I use Python daily and virtualenv is really good for our use cases (running CI/CD, testing installation and running in production in a container). I am not experiencing too many problems with pip + venv. We also maintain our own libraries and even those were relatively easy to set up. Mypy and yapf also helps to maintain a style and type correctness (do not pass in None accidentally).
what poetry can do that venv can not do? considering venv is the default tool and is solid and fairly easy to use already?
For what it's worth, I still prefer to use pip, python -m venv and virtualenvwrapper. Solves 99% of the issues with 1% of the complexity
Not if you use proper python env and package management tools like pdm or poetry.
Except plain old virtual environments instead of poetry. And pyenv only if really really necessary, and not in prod.
I feel like I must be the crazy one for never having a problem with just vanilla pip, PyPi, and venv (or virtualenv for old Python 2 stuff). Maybe it's just my use case?
"I don't want a bunch of venvs"That's your problem right there.Virtual environments are the Python ecosystem's solution to the problem of wanting to install different things on the same machine that have different conflicting requirements.If you refuse to use virtual environments and you install more than one separate Python project you're going to run into conflicting requirements and it's going to suck.Have you tried pipx? If you're just inst