collective / buildout.python

Buildout all the Pythons
109 stars 47 forks source link

Pin setuptools to <36.1. #63

Closed fschulze closed 7 years ago

fschulze commented 7 years ago

Upgrading further causes Pillow to fail to install. This may be caused by the inability of setuptools to install/upgrade itself anymore.

aclark4life commented 7 years ago

CC @jaraco

jaraco commented 7 years ago

There was a temporary condition (for a few versions recently) where setuptools had a bug with install_requires that would have prevented a self install, but those issues should have been corrected and setuptools should once again be able to upgrade itself. You shouldn't have to pin to old versions.

mauritsvanrees commented 7 years ago

I see the same problem. Building Pillow on Python 3.3 still works, but 3.4 fails. We use easy_install here, and even just asking for the help fails with this traceback:

$ /usr/local/pythons/parts/opt/bin/easy_install-3.4 -h
Traceback (most recent call last):
  File "/usr/local/pythons/parts/opt/bin/easy_install-3.4", line 11, in <module>
    load_entry_point('setuptools==36.2.7', 'console_scripts', 'easy_install-3.4')()
  File "/usr/local/pythons/parts/opt/lib/python3.4/site-packages/pkg_resources/__init__.py", line 565, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/pythons/parts/opt/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2631, in load_entry_point
    return ep.load()
  File "/usr/local/pythons/parts/opt/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2291, in load
    return self.resolve()
  File "/usr/local/pythons/parts/opt/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2297, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/local/pythons/parts/opt/lib/python3.4/site-packages/setuptools-36.2.7-py3.4.egg/setuptools/command/easy_install.py", line 47, in <module>
  File "/usr/local/pythons/parts/opt/lib/python3.4/site-packages/setuptools-36.2.7-py3.4.egg/setuptools/sandbox.py", line 15, in <module>
ImportError: No module named 'pkg_resources.py31compat'

I am trying the fix from @fschulze now.

aclark4life commented 7 years ago

Well, the fix from @fschulze should work for the wrong reasons … I guess.

mauritsvanrees commented 7 years ago

The fix works for me, so I will merge it. We can always try to come up with something better.

It would probably be better to not do anything with easy_install anymore, although it is good that the script is still there.