<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    You might want to shoot this over to the distutils-sig mailing list.<br>
    <br>
    <div class="moz-cite-prefix">On 5/31/2015 03:16, David Townshend
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAEgL-fePfTqFs6StDJZFbPVmOS=hUa_XSu_CFOPLr_uE9keGZQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>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.<br>
            <br>
          </div>
          My proposal revolves around two issues:<br>
        </div>
        <ol>
          <li>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.<br>
          </li>
          <li>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.</li>
        </ol>
        <p>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 (<a moz-do-not-send="true"
            href="https://github.com/aquavitae/pyle">https://github.com/aquavitae/pyle</a>). 
          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.</p>
        <p>Does this seem like the sort of tool that would be useful in
          the stdlib?<br>
        </p>
        <p>Regards</p>
        <p>David<br>
        </p>
        <p><br>
        </p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Python-ideas mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Python-ideas@python.org">Python-ideas@python.org</a>
<a class="moz-txt-link-freetext" href="https://mail.python.org/mailman/listinfo/python-ideas">https://mail.python.org/mailman/listinfo/python-ideas</a>
Code of Conduct: <a class="moz-txt-link-freetext" href="http://python.org/psf/codeofconduct/">http://python.org/psf/codeofconduct/</a></pre>
    </blockquote>
    <br>
  </body>
</html>