3 ms·
virtualenv has an advantage over venv, which is that people have spent years and years writing instructions for virtualenv, and not for the cases that venv hand
by rspeer 10y ago
virtualenv has an advantage over venv, which is that people have spent years and years writing instructions for virtualenv, and not for the cases that venv handles slightly differently.
For example, with virtualenv you can choose to use a mix of globally- and locally-installed packages. With venv you can't. (You get global or local, but not both.)
- yladiz 10y agoIn that regard, venv is better. It's better to have a single place where you install your packages rather than a few different places, especially if you're working on a team. It would be hell to have a mix, not knowing exactly which goes where or why, and then explaining to another team member your setup in a coherent manner. It's much better to just know that your packages are either global or local and no in-betweens.
- justanotherbody 10y ago> It's much better to just know that your packages are either global or local and no in-betweens. The database driver and scipy are installed globally. Everything else is local to the environment. Not hell at all, especially compared to compiling numpy/scipy every time you want to spin up a venv that uses a single feature. Examples other than DB drivers and scipy exist. Compiling software isn't really that hard, but it's an unnecessary hurdle in many cases - especially when you've already bought into an OS that does binary distributions specifically so you don't have to compile anything. I'd be comfortable agreeing that any pure-python package should be venv only, but not that every package should be.