Virtalenv and setuptools [was: latest setuptools appears to require six in a breaking way]
On 25 January 2017 at 17:20, Chris Withers <chris@simplistix.co.uk> wrote:
Right, so what's the recommended one-step way to set up a virtualenv now in Py 2.6-3.6?
This is the point I would consider most significant here. Virtualenv is deliberately built to allow use offline - pip, wheel and setuptools are bundled so that it's possible to create a virtualenv without needing Internet access. This change to setuptools will, if I understand it, break that expectation. While it's not a common scenario, I think it's something that should be considered. Going forward, I see a number of options for virtualenv: 1. Bundle all of setuptools' dependencies as well. 2. Drop the "no internet required" constraint - if we do this, it may be reasonable to only bundle pip, and get latest versions of everything else from PyPI. 3. Drop auto-installing setuptools (it's not needed unless you're installing from sdist, and it's only a "pip install setuptools" away for people who need it). 4. Document the changed behaviour by saying that no internet is required as long as you use --no-setuptools. Thoughts, anyone? Is the situation common enough to warrant anything other than (4)? It used to be for me, when pip didn't cache downloads and I had a secured proxy to deal with, but now I'd be OK with (4). Paul
On Jan 25, 2017, at 2:11 PM, Paul Moore <p.f.moore@gmail.com> wrote:
On 25 January 2017 at 17:20, Chris Withers <chris@simplistix.co.uk> wrote:
Right, so what's the recommended one-step way to set up a virtualenv now in Py 2.6-3.6?
This is the point I would consider most significant here. Virtualenv is deliberately built to allow use offline - pip, wheel and setuptools are bundled so that it's possible to create a virtualenv without needing Internet access. This change to setuptools will, if I understand it, break that expectation.
While it's not a common scenario, I think it's something that should be considered. Going forward, I see a number of options for virtualenv:
1. Bundle all of setuptools' dependencies as well. 2. Drop the "no internet required" constraint - if we do this, it may be reasonable to only bundle pip, and get latest versions of everything else from PyPI. 3. Drop auto-installing setuptools (it's not needed unless you're installing from sdist, and it's only a "pip install setuptools" away for people who need it). 4. Document the changed behaviour by saying that no internet is required as long as you use --no-setuptools.
Thoughts, anyone? Is the situation common enough to warrant anything other than (4)? It used to be for me, when pip didn't cache downloads and I had a secured proxy to deal with, but now I'd be OK with (4).
If we get PEP 518 landed in pip I think that (3) is the right step forward. — Donald Stufft
On 25 January 2017 at 19:15, Donald Stufft <donald@stufft.io> wrote:
If we get PEP 518 landed in pip I think that (3) is the right step forward.
Agreed. With that in mind (do we have any timescale for that work?) I suggest we do (4) for now and switch to (3) once PEP 518 is in place. Paul
On Jan 25, 2017, at 3:00 PM, Paul Moore <p.f.moore@gmail.com> wrote:
On 25 January 2017 at 19:15, Donald Stufft <donald@stufft.io> wrote:
If we get PEP 518 landed in pip I think that (3) is the right step forward.
Agreed. With that in mind (do we have any timescale for that work?) I suggest we do (4) for now and switch to (3) once PEP 518 is in place. Paul
Since we have a PR up for PEP 518 already, I hope to make sure it lands in the next release of pip. I’d likely go as far to say that as soon as it lands I’ll probably release pip again. Beyond that I don’t have a specific timescale. — Donald Stufft
On Wed, Jan 25, 2017, at 08:02 PM, Donald Stufft wrote:
Since we have a PR up for PEP 518 already,
Here's the link if anyone wants to take a look: https://github.com/pypa/pip/pull/4144
On 25 January 2017 at 20:04, Thomas Kluyver <thomas@kluyver.me.uk> wrote:
On Wed, Jan 25, 2017, at 08:02 PM, Donald Stufft wrote:
Since we have a PR up for PEP 518 already,
Here's the link if anyone wants to take a look: https://github.com/pypa/pip/pull/4144
Thanks. I've been seeing the PR comments in passing, but haven't really looked in detail. Is there anything I can do to help this along? If Donald is looking at "the next release of pip" for this (and virtualenv will presumably be released in sync, as usual) there's not much point doing anything shorter term than that for virtualenv, so it looks like option (3) it is :-) Paul
On Wed, Jan 25, 2017, at 09:02 PM, Paul Moore wrote:
Thanks. I've been seeing the PR comments in passing, but haven't really looked in detail. Is there anything I can do to help this along?
I believe it's working, but it's the first significant change I've made in pip, so any review is welcome. Thanks, Thomas
On 25 January 2017 at 21:26, Thomas Kluyver <thomas@kluyver.me.uk> wrote:
On Wed, Jan 25, 2017, at 09:02 PM, Paul Moore wrote:
Thanks. I've been seeing the PR comments in passing, but haven't really looked in detail. Is there anything I can do to help this along?
I believe it's working, but it's the first significant change I've made in pip, so any review is welcome.
Cool - I'll try to make some time, maybe over the weekend. Paul
participants (3)
-
Donald Stufft
-
Paul Moore
-
Thomas Kluyver