-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
setuptools 8.0 fails with zc.buildout 2 #296
Comments
Original comment by jaraco (Bitbucket: jaraco, GitHub: jaraco): I think the Version object returned by pkg_resources should continue to be iterable. Let's write a test to capture that requirement within the setuptools test suite, and then implement it. Here is the code where that error occurs. I see that buildout is depending on the internal structure of the Version class, specifically the string-based encoding. I suspect the new Version class won't be compatible here. @dstufft, can we wrap Version in something that's close enough to support buildout? If not, we may have to pull setuptools 8 until buildout can be updated to support the new model. |
Original comment by dstufft (Bitbucket: dstufft, GitHub: dstufft): So I see two solutions here and I'm not familiar with how buildout works enough to figure out which one is more reasonable.
|
Original comment by dstufft (Bitbucket: dstufft, GitHub: dstufft): I believe this should fix buildout https://github.com/jaraco/setuptools/pull/16 and it also raises a warning so people who are relying on that behavior will know it's not a good idea to rely on it. What I did was just put the entire old parse_version there, so if someone is using the result of iterating over the result of parse_version to order things, they won't get the new sorting algorithm, however that sorts the same in most cases anyways so it should be too bad (and they'll get a warning if they do that anyways). I've also added a test which is just copy/pasting the code from buildout. |
Original comment by papachoco (Bitbucket: papachoco, GitHub: papachoco): Hi .. I am still having issues w/ zc.buildout-2.2.5 (py27) . and sadly after that, distributions cannot be found e.g. Getting distribution for 'z3c.recipe.staticlxml==0.10'. same with 'pillow==2.6.1'. Also oddly enough if I get pass that, I get this error when checking versions The constraint, 2.6.1, is not consistent with the requirement, 'pillow==2.0.0,>=2.4.0'. Thanks Carlos PS. Rollback to 7.0 everything works as expected |
Original comment by datakurre (Bitbucket: datakurre, GitHub: datakurre): @jaraco @dstufft I can confirm the same issue as @papachoco (deprecation warning is ok, because buildout should be fixed, but it also fails to find any distributions). Also, may or may not be related to buildout issue, I had issues of some packages depending on Version to be indexable. Would it be also possible to get backwards compatibility for that? (With similar deprecation warning, of course.) Anyway, thank you the hard work for backwards compatibility. |
Original comment by kylemacfarlane (Bitbucket: kylemacfarlane, GitHub: kylemacfarlane): @J1M I've run into a different bug with setuptools 8.0/8.0.1 and buildout 2.2.5 under Python 3.4. The version comparison chokes at the following point:
The problem is that buildout defaults bestv to an empty tuple which can't be compared to SetuptoolsVersion. |
Original comment by dstufft (Bitbucket: dstufft, GitHub: dstufft): So I see two things we can add here:
Both obviously with the RuntimeWarning. |
Original comment by dstufft (Bitbucket: dstufft, GitHub: dstufft): Here's another Pull request which I hope will re-enable compatability with older buildouts: https://github.com/jaraco/setuptools/pull/17 I don't actually know how to use buildout so I'm not sure the best way to test it to make sure it actually does that, I'm just going by the errors shown here. |
Original comment by dstufft (Bitbucket: dstufft, GitHub: dstufft): Oh @J1M incase you didn't know, setuptools is using https://warehouse.python.org/project/packaging/ and so will pip 6.0. (Well techincally setuptools is subclassing it to add legacy behaviors). Not sure what your buildout code is doing, but if you're doing any version manipulation or specifier manipulation internal to buildout that code might be useful on it's own for you. |
Original comment by papachoco (Bitbucket: papachoco, GitHub: papachoco): Thanks a lot guys. Distributions are now found. However, there is still an issue. Not sure if it is in zc.buildout or setuptools. I am using pillow 2.6.1 and I am getting the following error Installing eggs. The error comes from reportlab-3.1.8-py2.7-macosx-10.9-intel.egg/EGG-INFO/requires.txt:pillow ==2.0.0, >=2.4.0 It works fine with setuptools 7.0 and zc.buildout-2.2.5. Thanks a lot PS> https://bitbucket.org/rptlab/reportlab/issue/55/setuptools-80-cannot-install-reportlab-318 |
Original comment by nidi (Bitbucket: nidi, GitHub: nidi): I'm also still having issues with setuptools 8.0.2 and buildout 2.3.0 as described in GH:buildout/buildout 220. Looks like the changes GH:jaraco/setuptools 17 introduced aren't enough yet and |
Original comment by dstufft (Bitbucket: dstufft, GitHub: dstufft): The reportlab error is because PEP 440 simplifies the specifier syntax and changes it from something that is genuinely hard to understand (I've worked with it a lot, and I have a hard time even forming a mental model of what it does) with something that is super simple to explain and work with. The downside is that there are going to be some edge cases where the restricted functionality will require some adjustments :( The I've addressed this with https://github.com/jaraco/setuptools/pull/18 |
Original comment by datakurre (Bitbucket: datakurre, GitHub: datakurre): Upgraded over 50 Plone configurations to zc.buildout 2.3.0 and setuptools 8.0.2 in the morning (each with about 400 packages). A few invalid version specifiers caused issues, because they were not valid after PEP 440 and were no longer comparable, but setuptools itself worked well. Thanks for the backwards compatibility fixes. |
Originally reported by: tomgross (Bitbucket: tomgross, GitHub: tomgross)
With the release of setuptools 8.0 all buildouts fail with the following error:
This error did not occur with setuptools 7.0 and earlier. A workaround can be found here:
http://blog.toms-projekte.de/workaround-setuptools-buildout-bug.html
The text was updated successfully, but these errors were encountered: