-
Notifications
You must be signed in to change notification settings - Fork 71
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
Chore: Fix setuptools version #309
Chore: Fix setuptools version #309
Conversation
This commit constraints setuptools version lesser than or equal to 69 to be used while installing zope interface via pip. this has been done to avoid the error with setup tools as stated in pypa/setuptools#4519
I think we should drop the But what's the issue being fixed here? zope.interface doesn't rely on the setuptools |
@manand881 Can you please describe how pypa/setuptools#4519 affects $ python3.8 -m venv /tmp/foo
$ cd /tmp/foo
$ bin/pip install --upgrade setuptools pip
...
Successfully installed pip-24.2 setuptools-71.1.0
$ bin/pip install zope.interface
...
Successfully installed zope.interface-6.4.post2
$ bin/python -c "from zope.interface import Interface; print(Interface)"
zope.interface.Interface FWIW, @cjwatson We don't use @dataflake, @icemac I don't recall why the pin was added in zopefoundation/meta#243 -- can you point to an issue describing the breakage? I do see that |
Note that setuptools 72.0.0 has been yanked, so your test was with 71.1.0, which is less interesting here. (I tested by explicitly doing |
@cjwatson Thanks, I had figured that out chasing the issue myself. Meanwhile, I've opened two issues on the Neither of them will get done quickly: the first is basically just a ginormous, tedious pile of work (we don't script the creation of |
@cjwatson So I followed up on the yanked version: $ python3.12 -m venv /tmp/bar
$ cd /tmp/bar/
$ /tmp/bar/bin/pip install --upgrade setuptools==72.0.0
Collecting setuptools==72.0.0
Using cached setuptools-72.0.0-py3-none-any.whl.metadata (6.6 kB)
WARNING: The candidate selected for download or install is a yanked version: 'setuptools' candidate (version 72.0.0 at https://files.pythonhosted.org/packages/2f/83/06edd551b4fdf6170dcbafeeed588a8909819e943905c182ebdc98835be8/setuptools-72.0.0-py3-none-any.whl (from https://pypi.org/simple/setuptools/) (requires-python:>=3.8))
Reason for being yanked: https://github.com/pypa/setuptools/issues/4518
Using cached setuptools-72.0.0-py3-none-any.whl (2.3 MB)
Installing collected packages: setuptools
Successfully installed setuptools-72.0.0
$ bin/pip install --upgrade pip
...
Successfully installed pip-24.2
$ bin/pip install zope.interface
...
Successfully installed zope.interface-6.4.post2
$ bin/python -c "from zope.interface import Interface; print(Interface)"
zope.interface.Interface
$ bin/pip uninstall zope.interface
...
Successfully uninstalled zope.interface-6.4.post2
$ bin/pip install --no-cache --no-binary :all: zope.interface
...
Successfully installed zope.interface-6.4.post2
$ bin/python -c "from zope.interface import Interface; print(Interface)"
zope.interface.Interface |
I guess at this time, i dont have the level of experience or insight as much as the people who have created this project. What was happening to us was that our poetry was allowing the latest setuptools to install since the project did not explicitly mention a version and the latest version had an issue. I made this pull request trying to freeze on the version to be the same |
@manand881 Do you have a log of the actual failure you were seeing? A copy of that would be helpful, just to make sure it's not somehow a Zope problem. I suspect that the problem is actually in the interaction between the latest setuptools and some other package, rather than in its interaction with zope.interface - which means it should be fixed there and not here (ideally by removing that other package's reliance on the feature that has been removed from setuptools). |
@cjwatson Unfortunately we do not have persistent logs of the error that we were seeing since we dont have a mechanism to store logs of the builds that we do. our product is not sophisticated. I would like to confirm that there is no problem with zope interface at all. this is how our poetry.lock file looks
This I hope this was of some help. |
@manand881 I can't reproduce this failure after setting up a similar poetry environment. I suspect you've been confused by some piece of the error output and misidentified the problem as being in zope.interface. |
@cjwatson when you have the same poetry as mine, what version of setuptools does it install? the latest version that caused issues i.e |
I explicitly told it to install 72.0.0. |
@cjwatson looking at https://pypi.org/project/setuptools/#history i also notice that setup tools is notorious releasing a lot of versions which end up getting yanked |
Sure, but I don't think that's really relevant here. |
what would be the right way to do this? |
Find and fix the actual problem, rather than just slapping an upper bound in and hoping none of the library's other users have any kind of conflict with it! |
I'm going to close this. I think it's actively harmful (it would break as soon as any other package has a setuptools requirement with a conflicting lower bound, and you try to install that other package and zope.interface in the same environment), there seems no evidence that zope.interface is directly broken here even with the yanked setuptools 72.0.0, and we have zopefoundation/meta issues for the longer-term problems here. |
This commit constraints setuptools version
lesser than or equal to 69 to be used while
installing zope interface via pip. this has
been done to avoid the error with setup tools
as stated in pypa/setuptools#4519