Your last version is giving the following error:
ImportError: cannot import name 'Feature' from 'setuptools'
I got same issue
This appears to be a deprecated API that was first removed in version 3.0 (41 major versions ago). Not sure why it was put back, but it was deprecated in issue #65 and most recently removed in #1979 .
If it causes problems for you I think pinning to setuptools < 46 while you find another solution is the right way to go.
Closing this as it was an intended change. Thank you for reporting this!
pinning to setuptools < 46 while you find another solution is the right way to go.
I'm a little new to Python-related utils and such, here's the command I had to use to resolve this: pip3 install setuptools==45
I don't understand this error, why is setuptools/__init__.py still importing Feature if it is removed? Because I see the error there (in a docker build based on python3.7-stretch):
ImportError: cannot import name 'Feature' from 'setupt...r/local/lib/python3.7/site-packages/setuptools/__init__.py
pinning to setuptools < 46 while you find another solution is the right way to go.
I'm a little new to Python-related utils and such, here's the command I had to use to resolve this:
pip3 install setuptools==45
I tried this but still getting error saying: ImportError: cannot import name 'Feature' from 'setuptools' (/usr/local/lib/python3.7/site-packages/setuptools/__init__.py)
pinning to setuptools < 46 while you find another solution is the right way to go.
I'm a little new to Python-related utils and such, here's the command I had to use to resolve this:
pip3 install setuptools==45I tried this but still getting error saying: ImportError: cannot import name 'Feature' from 'setuptools' (/usr/local/lib/python3.7/site-packages/setuptools/init.py)
I was able to overcome this by setting zope.interface version to greater than 5.0.0 in requirements.txt
I see that it was removed in #65, re-introduced in #161, and removed again in #1979
So what is the cause of this error and what is the fix?
Pinning setuptools==45 works but is not a fix for the error.
So what is the cause of this error and what is the fix?
Pinning setuptools==45 works but is not a fix for the error.
Paul Ganssle and few other pointed out the original issue, where "Feature" was decided to be removed (and it was 2013). Pinning version of setuptools is just a work around, something that we can do on our side. The true fix need to come from package maintainer to update their setup script not to use that "Feature".
Is there documentation that I can point package maintainers to which describes the steps that must be taken by them?
I am not aware of any such documentation, but I think you can help pointing them here, or to take a look at other linked issues here for more references. For example, this is the update in MarkupSafe done by jaraco, who also handled the deprecation of Feature in setuptools himself:
https://github.com/pallets/markupsafe/pull/24
Issue is still present
Most helpful comment
I'm a little new to Python-related utils and such, here's the command I had to use to resolve this:
pip3 install setuptools==45