enthought / okonomiyaki

Okonomiyaki is aimed at consolidating a lot of our low-level code used for Enthought's eggs and python runtimes.
Other
2 stars 3 forks source link

attrs < 16.1.0 is no longer available on pypi #243

Closed olofk closed 7 years ago

olofk commented 8 years ago

okonomiyaki fails to install since it can't find a valid version of attrs

cournape commented 8 years ago

Hm, that's weird. What error do you exactly get, and with what commands ? attrs 16.0.0 is on pypi and that should work.

For internal reason, we still need 2.6 support, which is why we can't upgrade to the latest, but that reason should be gone real soon (tm).

olofk commented 8 years ago

I see the error when I run CI with both Travis and our Jenkins instance. Pasting a snippet of the error below. Full log is here https://travis-ci.org/olofk/fusesoc/jobs/159564977 (Not sure if it's publicly available). It could perhaps be that attrs 16.1.0 is already installed in the CI environment, and that it fails to downgrade to satisfy okonomiyaki

Traceback (most recent call last):

File "/home/travis/virtualenv/python3.5.2/lib/python3.5/site-packages/pkg_resources/init.py", line 612, in _build_master

ws.require(__requires__)

File "/home/travis/virtualenv/python3.5.2/lib/python3.5/site-packages/pkg_resources/init.py", line 918, in require

needed = self.resolve(parse_requirements(requirements))

File "/home/travis/virtualenv/python3.5.2/lib/python3.5/site-packages/pkg_resources/init.py", line 810, in resolve

raise VersionConflict(dist, req).with_context(dependent_req)

pkg_resources.ContextualVersionConflict: (attrs 16.1.0 (/home/travis/virtualenv/python3.5.2/lib/python3.5/site-packages), Requirement.parse('attrs<16.1.0'), {'okonomiyaki'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/home/travis/virtualenv/python3.5.2/bin/fusesoc", line 5, in

from pkg_resources import load_entry_point

File "/home/travis/virtualenv/python3.5.2/lib/python3.5/site-packages/pkg_resources/init.py", line 3018, in

working_set = WorkingSet._build_master()

File "/home/travis/virtualenv/python3.5.2/lib/python3.5/site-packages/pkg_resources/init.py", line 614, in _build_master

return cls._build_from_requirements(__requires__)

File "/home/travis/virtualenv/python3.5.2/lib/python3.5/site-packages/pkg_resources/init.py", line 627, in _build_from_requirements

dists = ws.resolve(reqs, Environment())

File "/home/travis/virtualenv/python3.5.2/lib/python3.5/site-packages/pkg_resources/init.py", line 810, in resolve

raise VersionConflict(dist, req).with_context(dependent_req)

pkg_resources.ContextualVersionConflict: (attrs 16.1.0 (/home/travis/virtualenv/python3.5.2/lib/python3.5/site-packages), Requirement.parse('attrs<16.1.0'), {'okonomiyaki'})

cournape commented 8 years ago

Ah, that's actually a pip bug. pip dependency solver is naive, and does not solve the dependency graph "globally". You may be able to work around it by forcing a specific version of attrs in your process.

olofk commented 8 years ago

Ah ok. Don't think I will have time to dig into the pip code for that, so I'll take the easy way out and just wait for okonomiyaki to support newer attrs.

Thanks for the help and feel free to close the issue

cournape commented 7 years ago

We can now use the latest attr, so this is moot.