[Python-ideas] npm-style venv-aware launcher
David Townshend
aquavitae69 at gmail.com
Sun May 31 09:16:57 CEST 2015
Pip and venv have done a lot to improve the accessibility and ease of
installing python packages, but I believe there is still a lot of room for
improvement. I only realised how cumbersome I find working with python
packages when I recently spent a lot of time on a javascript project using
npm. A bit of googling and I found several articles discussing pip, venv
and npm, and all of them seemed to say the same thing, i.e. pip/venv could
learn a lot from npm.
My proposal revolves around two issues:
1. Setting up and working with virtual environments can be onerous.
Creating one is easy enough, but using them means remembering to run
`source activate` every time, which also means remembering which venv is
used for which project. Not a major issue, but still and annoyance.
2. Managing lists of required packages is not nearly as easy as in npm
since these is no equivalent to `npm install --save ...`. The best that
pip offers is `pip freeze`. Howevere, using that is a) an extra step to
remember and b) includes all implied dependencies which is not ideal.
My proposal is to use a similar model to npm, where each project has a
`venvrc` file which lets python-related tools know which environment to
use. In order to showcase the sort of funcionality I'm proposing, I've
created a basic example on github (https://github.com/aquavitae/pyle).
This is currently py3.4 on linux only and very pre-alpha. Once I've added
a few more features that I have in mind (e.g. multiple venvs) I'll add it
to pypi and if there is sufficient interest I'd be happy to write up a PEP
for getting it into the stdlib.
Does this seem like the sort of tool that would be useful in the stdlib?
Regards
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20150531/bbfe50b0/attachment.html>
More information about the Python-ideas
mailing list