On November 7, 2015 at 6:07:47 PM, Paul Moore (p.f.mo...@gmail.com) wrote: > On 7 November 2015 at 22:47, Donald Stufft wrote: > > Only if we think we can trust the version numbers to be unique from random > > paths on the > file system. > > Precisely. And that's the sort of trade-off that Ralf was asking to be > clarified. Here, the trade off is that if we *are* allowed to rely on > the fact that name/version uniquely identifies the build, then we can > optimise build times via wheel cacheing. If we can't make that > assumption, we can't do the optimisation. > > The request here seems to be that we provide the best of both worlds - > provide optimal builds *without* making the assumptions we use for the > "install a released version" case. > Paul >
Well, you can get the optimized builds by not copying the path into a temporary location when you do ``pip install .`` and just letting the build system handle whether or not it caches the build output between multiple runs. I don’t want to start doing this, because I want to make a different change that will make it harder (impossible?) to do that. I want to reduce the “paths” that an installation can go down. Right now we have: 1. I have a wheel and pip installs it. 2. I have an sdist and pip turns it into a wheel and then pip installs it. 3. I have an sdist and pip installs it. 4. I have a directory and pip installs it. 5. I have a directory and pip installs it in editable mode. The outcome of all of these types of installs are subtly different and we’ve had a number of users regularly get confused when they act differently over the years. I do not think it’s possible to make (5) act like anything else because it is inherently different, however I think we can get to the point that 1-4 all act the exact same way. and I think the way to do it is to change these so instead it is like: 1. I have a wheel and pip installs it. 2. I have an sdist and pip turns it into a wheel and then pip installs it. 3. I have a directory and pip turns it into a sdist and then pip turns that sdist into a wheel and then pip installs it. 4. I have a directory and pip installs it in editable mode. Essentially, this is removing two “different” types of installations, one where we install directly from a sdist (without ever going through a wheel) and one where we install directly from a path (without ever going through a sdist or a wheel). Omitting the whole editable mode from the consideration, we get to a point where installs ONLY ever happen to go from a “Arbitrary Directory” to an Sdist to a Wheel to installation and the only real differences are at what point in that process the item we’re trying to install is already at. Of course development/editable installs are always going to be weird because they are in-place. ----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig