-
Notifications
You must be signed in to change notification settings - Fork 429
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
Use pip to install packages in recipes generated by PyPI skeleton #2812
Conversation
FWIW I oppose this change. PIP doesn't care very much about external package building efforts. |
I don't think we have a ton of options here. Pip is the community standard. We'll either end up running pip or reimplementing its behavior. I'm not completely sure how https://www.python.org/dev/peps/pep-0517/ and https://www.python.org/dev/peps/pep-0518/ will change things. If they evolve to remove pip from the build process, great, but we really use pip or PyPA has done some stuff lately that would make using pip for our purposes harder, but they have also been reasonable about discussing and fixing things when xoviat and others discussed it with them. I don't think the right course of action is to write them off - we have to get better at interop stuff, not stick our heads in the sand. We must talk more with PyPA, not less. We should discuss this with the team as a whole, but my vote right now is to go ahead with this change. |
OK fair enough, I just felt that these issues with build isolation should've been more obvious to them. |
Oh yes, I totally agree with that sentiment. That's why we need to be in better communication with them, to help them better understand the whole story. |
Anyway, we should hold off on this until a pip is released with the |
hmmm.... Yeah, that's interesting. We don't need that now, but we will when pip 10 is released. maybe a better route is to merge this now, but to chase the enabling of --build-isolation using pip.conf instead of a CLI flag, so the skeleton recipes won't need modification |
I'd rather go for the explicit is better than implicit (or hidden in another file) route personally. |
Using pip as recommended by conda-forge: https://conda-forge.org/docs/meta.html#use-pip Right now this is hard-coded to `pip`, but once `flit` gets some traction we might add support to it as well.
ae9d0c5
to
08df439
Compare
Also, adding pip always as a dependency makes the eco-system no longer bootstrappable (because you need pip to build some of pips dependencies). |
I thought about that, but until that is released (which I concede should be soon) the recipe correctly reflects what should be done. We can always (and should) update this later when 10.0 is released.
I think skeletons are meant as a starting point, not as a final recipe. It seems the ecosystem is moving away from plain |
I disagree, for Using the skeletons as a staring point aims too low. |
I see, but IMHO for "conda skeleton pypi" it makes sense to use the recommended tool by PyPI to install packages. |
pip 10 got released. I'm afraid we now need to be much more careful about using pip. I do think that this is the right approach, but we must have the build isolation stuff figured out before we make this change. |
pip 10's build isolation is only triggered when a Also, worthwhile to note that pip does not currently support the flit backend. |
Closing this as Fixed in #2972 Thanks! |
Hi there, thank you for your contribution! This pull request has been automatically locked because it has not had recent activity after being closed. Please open a new issue or pull request if needed. Thanks! |
Using pip as recommended by conda-forge:
https://conda-forge.org/docs/meta.html#use-pip
Right now this is hard-coded to
pip
, but onceflit
gets some traction we might add support to it as well.