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
enable isolated build (PEP-517 for tox) #6175
Conversation
I don't have a super clear understanding of what this actually changes? |
@msullivan you would need to read the PEP-517 and PEP-518 to understand clearly, but simply put ensures that the package build dependencies specified in |
Any chance of a merge on this? |
Do you actually have a need for this? Just pointing to the docs doesn’t
really help me understand this.
On Sat, Jan 26, 2019 at 2:10 PM Bernát Gábor ***@***.***> wrote:
Any chance of a merge on this?
1�7
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#6175 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ACwrMgCcSwgbCgpUfwVrabBYfRLii3UOks5vHNI8gaJpZM4Z5e8O>
.
--
--Guido (mobile)
|
Without this, the tox packaging build will silently ignore the pyproject.toml and use whatever the tox host environment has, so for users who have an old wheel/setuptools laying around the tox builds might possibly fail. In parallel, although pip, for now, does default to using setuptools with PEP-517 if the key is not specified we should note that in the PEP-517 this default is not mandated, so it's not guaranteed to work with all build frontends (and pip itself can decide to not activate PEP-517 if this key is missing). This is in the spirit of explicit is better than implicit, in the true spirit of the Python zen. Long story short while this might not be a must have, it's definitely a should have. |
I'm sorry, I still don't follow. If you're asking us to read and understand PEP 517/518, you will have to wait forever, so please bear with us and help us understand, and hopefully we'll feel comfortable that this PR solves a problem for more people than just you yourself. For context, while I am an avid pip user, I don't understand much about what it does under the covers any more, and I don't understand at all what tox does or why. (At some point someone convinced us to use it in our .travis.yml and appyeyor.yml files, but I don't recall why.) Given that context, can you explain what a "tox packaging build" is? I see our pyproject.toml but I don't know what it means -- like so much in the packaging world, it looks like pure cargo-cult to me: "don't ask questions, just put this there else 'things' won't work". Also, what is the "key" you are referring to? And what is a "build frontend"? Finally, don't go quoting the Zen of Python to me. Following rules without understanding was never meant to be part of it. |
I'm sorry, my bad, I assumed you would be more familiar with the PEP-517/518. |
Hello, thanks for being patient with me on this, I wrote a blog post explaining what happens more in detail: https://www.bernat.tech/pep-517-518/ Hope this clears up things. Thanks! |
Hm, it seems like this will break pip install from the source directory, right? |
Not if we ammend to prepend the sys path at the start of setup.py |
OK, can you update this PR to do that? |
yeah will do |
b502f1e
to
5af06ce
@msullivan addressed, ready for review |
Alright, we can take this.
You tested pip install from a source directory?
@gaborbernat I tried a
|
4ed35a5
to
3026120
@msullivan indeed, fixed now |
PR #6175 broke travis with some bogus indentation. Fix that.
https://tox.readthedocs.io/en/latest/example/package.html#packaging👍
The text was updated successfully, but these errors were encountered: