-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Wheel binary package format #684
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
the tar libraries choke when checking valid filenames because they don't resolve symlinks
resolve symlinks in local files
require markerlib at all
…e.g. pip install path/to/a/wheel.whl)
I think adding a new command is reasonable here. Much like @qwcode: I think idea #1 does not make much sense: why bothering with the finder (which, BTW, takes ages checking tons of useless links) when you have a cache out there. I'm +1 on idea 2: check the cache and then only if the package is not there look for links in the index. |
@qwcode you would never get all the way to setup.py install and then check the wheel cache. Instead, the finder downloads and installs the wheel instead of the sdist. We will have to make sure that the "populate a directory full of wheels" command will also download wheels directly from pypi and put them in that directory. The new command is a more useful replacement for bundle. |
@dholth in the abstract world of idea1 you would : ). the point of idea1 was mostly to distinguish it from idea2, which is better, but also to be clear that neither idea1 or idea2 was what was in this pull. This was in response to Paul's post who seemed to be maybe thinking in idea1 terms.
@rubik , for the scope of this pull, I think we should/have-to be satisfied with the "--no-index --find-links" approximation I mentioned. Considering caching that's not just "download" caching is better left as a dedicated effort in another pull. here's a discussion that covers a lot of the territory: https://groups.google.com/forum/#!msg/python-virtualenv/J92cKpftSjA/i9zSae8zV3AJ |
I think the idea of a local cache that precedes |
PackageFinder is not preceded. It is still doing everything it did before, except it has a tiny patch belied by the large number of commits in the patch that lets it use .whl in addition to .tar.gz and .zip You could and some people do populate the same local directory with sdists instead of wheels, and use --no-index --find-links there. |
@dholth I wasn't talking about the current pull request, I was just replying to the speculation about hypothetical additional caching features in the last few posts (which should probably move to the mailing list). I do use |
Sure. We will stop calling it a cache post haste. The two phase workflow is great for me. You only ping the index when you want to test new versions of dependencies. On Sep 26, 2012, at 12:06 PM, Carl Meyer notifications@github.com wrote:
|
If travis wasn't broken... |
@dholth , I'm willing to do the work to carve out a new pull just for the install portion. |
I'd appreciate it. Credit Rubik and pfmoore too of course. On Sep 30, 2012, at 1:53 AM, Marcus Smith notifications@github.com wrote:
|
ok, will do. hopefully, in a couple of days. will shout out to the interested parties when it's ready. |
@qwcode looking forward to it. |
I've just tested the current patch and there's one issue that ought to be investigated. As it stands, it doesn't check the available wheels to determine which ones are compatible with the current Python. So it can install a 1.1 64-bit build into a 32-bit Python, because there's a 64-bit 1.1 available but only 1.0 in 32-bit. Also, it doesn't rank wheels by compatibility, so it can install a "py33" wheel where there is also a "cp33" wheel. This could result in installing a version without C accelerators when the version with them is also available. |
Encode sys.executable properly in script hashbang lines
https://bitbucket.org/dholth/pep425tags has the relevant tags. See also https://github.com/dholth/pip/blob/develop/pip/index.py#L335 Note that I have a branch called 'wheel' that has the newest stuff; it is easy to pull develop by accident. The changes don't affect the compat tags issue at all. |
if you read way up in the conversation, we (or at least I was) were willing to accept the lack of tag awareness (other than python version) at first in the "experimental" support, but certainly would like to see it soon. for awhile at atleast using wheels will largely be a local thing. the user will be the one generating their own wheels and using them locally, so they're going to know what they have. |
Conflicts: pip/wheel.py
Closing pull request. Rebased. |
Experimental support for the wheel package format in pip. Can be used to realize dramatic reductions in install time.