Skip to content
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

Only fall back to wheel if no other dists #15

Closed
mrichar1 opened this issue Nov 19, 2017 · 2 comments
Closed

Only fall back to wheel if no other dists #15

mrichar1 opened this issue Nov 19, 2017 · 2 comments

Comments

@mrichar1
Copy link

I have enabled this extension on a project with a lot of dependencies, since a new dependency only provides wheels on pypi.

However, this seems to result in various odd bugs and glitches in some of the other dependencies, which are now being sourced from wheels, rather than the (s)dist that was being used previously).

Would it be possible to make this extension only try to install from a wheel if there is no other source available, or if the 'traditional' methods of install failed, rather than doing it for all deps? #14 could be an option - though this would require explicit white or blacklisting in advance.

@leorochael
Copy link
Contributor

Hi @mrichar1,

Thank you for your input.

IMO, one of the greatest benefits of wheels is that they greatly speed up buildout as installing an sdist is significantly slower than installing a wheel (even in the case of pure Python sdists, but the difference is huge when compilation is involved).

So I wouldn't recommend a change to buildout.wheel that would make wheels a "last resort" distribution format.

Doing it as a fallback for installation of other formats feels like it would be particular hard to do in the current codebase, as the place in the code that selects which distribution formats should be considered for installation is earlier (and far from) the spot in the code that breaks when installation fails.

If you're facing odd bugs and glitches with certain dists/wheel combinations, it would be nice to hear about them. And yes, something like #14 would be nice to prevent those cases.

And on the other hand I consider it a bug if a distribution on PyPI doesn't provide a usable sdist, so I'd file a bug with the authors of said package.

I recommend closing this issue.

@mrichar1
Copy link
Author

Thanks for taking the time to reply. Yes - I think you're right - I should probably have put this as a comment on #14 rather than a specific issue.

I've just had a look at #14 and I think I have a viable approach to providing blacklisting and whitelisting. I'll see about making a PR this afternoon, if it's as simple as I suspect it will be.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants