3 ms·
I find it very straightforward and obvious to use virtualenvs, which support everything this project purports to do. What is this, then? Some porcelain and conv
by coleifer 9y ago
I find it very straightforward and obvious to use virtualenvs, which support everything this project purports to do. What is this, then? Some porcelain and convention around virtualenvs? Why do I need this?
- zbentley 9y agoIt is exactly porcelain and convention around virtualenvs, and its benefits are, in brief: simplicity, security, and portability (as in operating systems). The most useful feature that motivated my switch to it was that it combines the env manager and package manager so users only need to use one tool to specify an environment and a set of packages, and to manipulate those packages. This was extremely useful when getting lots of novice Python programmers to start sharing code/build environments for their projects. It additionally has a lockfile and hash-based package identification which improves security (if I remember correctly, these things are possible with straight pip/other package managers, but can either be disabled or are disabled by default--but it's been awhile, so I may well be wrong!). In short, it gives you a slightly more opinionated definition of what a "project" (environment plus packages etc.) is, and in return the tool is much simpler. For more info: https://docs.pipenv.org/ https://docs.pipenv.org/
- hobofan 9y agoAs someone constantly hopping between programming languages always found the use of virtualenv to be the opposite of "straightforward and obvious". I'm happy that Pipenv exists and that I can finally use Python with the same ease as Ruby+rbenv.
- ipmb 9y agoThe lock file and graph are big improvements over straight pip/virtualenv. They allow for truly reproducible builds.