-
-
Notifications
You must be signed in to change notification settings - Fork 21
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
install with pip #5
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
@ocefpaf I'm not sure what package is responsible, but I think I've narrowed it down to something conda is doing corrupting the .exe files produced by pip. I can pip install just fine and the commands work, but after conda packages them up, they are broken. Seems like a pretty severe bug in either conda or conda-build, I guess? The failure is:
which I see when I RDC into the appveyor VM, but for some reason appveyor doesn't capture in the web view. |
Time to call @msarahan 😉 |
well, sadly, it's something of a bug between both conda and conda-build, and has taken patches to both to fix. See more at conda/conda#3224 and conda/conda-build#1171 Long story short: If you build packages with conda-build >=1.21.11, they should have binary prefix replacement info in them. If you install these packages with conda >=4.2.3, that prefix should get fixed correctly. Conda 4.2.3 has been tagged and should be available soon with |
Great. I figured it out, but the issue seems unresolvable until conda starts working again. I can pin 'pip < 7`, since 7.0 appears to be the version that introduced the change (over a year ago), but I cannot build on py35 because there was never a pip 6 package for py35. My current plan is to hold off on updating any conda-forge packages until there's a working release of conda again. |
Can you enlighten me on why installation with pip is desirable? The only one I know of right now is that for setuptools entry points on Mac and Linux, you get reasonable scripts that don't depend on .pth files or pkg_resources. Are there other reasons we should think about using pip more generally? Does it enable specific functionality here? I hope "hold off on updating any conda-forge packages until there's a working release of conda again" means holding off on changing to pip installs, not more generally avoiding updates - otherwise I feel like I've underestimated the magnitude of this issue. I'm confused as to how it became such a large issue, when I don't think that these entry points with pip have worked with conda since pip 6 (apparently). |
use conda for entry points because conda can't currently handle pip entry points Maybe revert conda entry-points once pip support is fixed.
Since I'm already using pip in several conda-forge packages, I did mean that I won't be updating any packages until conda starts working again. However, since I now realize using conda entrypoints should be a satisfactory workaround while waiting for the pip entrypoints to resume working.
I believe this has been discussed here, but the gist is that it is the only way to:
The general goal is to ensure consistency of the behavior of the installed package. This is not accomplished if conda packages are built with raw distutils. |
This PR now works, as long as the redundant conda-forge entrypoints are left in-place, instead of letting the pip entrypoints pass through. |
@minrk please correct me if I am wrong: From a packager point of view the use of In light of those two advantages I believe we should move to PS: @minrk do you want to merge this one or do you want to leave it open to wait for the new |
@minrk, no problem. I understand and share your frustration. I hope this all just works once conda >=4.2.3 is generally available. |
Not for merge, yet.
Some debugging of Windows install not working, I'm guessing due to the wrong pip doing the installation.