TurboGears/tg2devtools

turbogears2 2.3.12 has requirement WebOb<1.8.0,>=1.2, but you'll have webob 1.8.3 which is incompatible.

basictheprogram opened this issue · 4 comments

Following https://turbogears.readthedocs.io/en/latest/turbogears/wiki20.html

$ pip install tg.devtools
Collecting tg.devtools
Collecting backlash>=0.0.7 (from tg.devtools)
Collecting TurboGears2>=2.3.12 (from tg.devtools)
Collecting tgext.debugbar (from tg.devtools)
Collecting WebTest<2.0 (from tg.devtools)
Collecting gearbox>=0.1.1 (from tg.devtools)
Collecting WebOb (from backlash>=0.0.7->tg.devtools)
  Using cached https://files.pythonhosted.org/packages/b5/74/a9aaec7ca6c94a58e379a9c95255a2b2017514948054c72c0d1a25953348/WebOb-1.8.3-py2.py3-none-any.whl
Collecting crank<0.9.0,>=0.8.0 (from TurboGears2>=2.3.12->tg.devtools)
Collecting MarkupSafe (from TurboGears2>=2.3.12->tg.devtools)
Collecting repoze.lru (from TurboGears2>=2.3.12->tg.devtools)
Collecting Pygments (from tgext.debugbar->tg.devtools)
  Using cached https://files.pythonhosted.org/packages/02/ee/b6e02dc6529e82b75bb06823ff7d005b141037cb1416b10c6f00fc419dca/Pygments-2.2.0-py2.py3-none-any.whl
Collecting PasteDeploy (from gearbox>=0.1.1->tg.devtools)
  Using cached https://files.pythonhosted.org/packages/31/28/51201a54aeecbd02eff767d17050b302f6fd98fdfecb4e3f4c9301ba6ef8/PasteDeploy-1.5.2-py2.py3-none-any.whl
Collecting Tempita (from gearbox>=0.1.1->tg.devtools)
turbogears2 2.3.12 has requirement WebOb<1.8.0,>=1.2, but you'll have webob 1.8.3 which is incompatible.
Installing collected packages: WebOb, backlash, crank, MarkupSafe, repoze.lru, TurboGears2, Pygments, tgext.debugbar, WebTest, PasteDeploy, Tempita, gearbox, tg.devtools
Successfully installed MarkupSafe-1.0 PasteDeploy-1.5.2 Pygments-2.2.0 Tempita-0.5.2 TurboGears2-2.3.12 WebOb-1.8.3 WebTest-1.4.3 backlash-0.1.4 crank-0.8.1 gearbox-0.1.1 repoze.lru-0.7 tg.devtools-2.3.12 tgext.debugbar-0.3.0

turbogears2 2.3.12 has requirement WebOb<1.8.0,>=1.2, but you'll have webob 1.8.3 which is incompatible.

Looks like this is being talked about in the Google Group.

amol- commented

Sadly this is a known pip issue. Pip is not able to resolve dependencies forefront in a complete way, so it just installs wrong versions and verifies them afterward.

There is an open issue for pip: pypa/pip#988

You can work around it by doing:

pip install TurboGears2
pip install tg.devtools

instead of just pip install tg.devtools.

If you are writing the setup.py of an application, make sure TurboGears2 is installed first (usually need to be the last entry in install_requires).

TurboGears 2.4 should solve this by supporting WebOb1.8+

amol- commented

It looks like the behaviour of pip is also influenced by local cache:

$ rm -rf cenv; virtualenv cenv; . cenv/bin/activate; python ~/get-pip.py
Successfully installed pip-18.1

$ pip install tg.devtools
[...]
turbogears2 2.3.12 has requirement WebOb<1.8.0,>=1.2, but you'll have webob 1.8.4 which is incompatible.
Successfully installed MarkupSafe-1.1.0 PasteDeploy-1.5.2 Pygments-2.2.0 Tempita-0.5.2 TurboGears2-2.3.12 WebOb-1.8.4 WebTest-1.4.3 backlash-0.1.4 crank-0.8.1 gearbox-0.1.1 repoze.lru-0.7 tg.devtools-2.3.12 tgext.debugbar-0.4.0

VS

$ pip install --no-cache-dir tg.devtools
[...]
Successfully installed MarkupSafe-1.1.0 PasteDeploy-1.5.2 Pygments-2.2.0 Tempita-0.5.2 TurboGears2-2.3.12 WebOb-1.7.4 WebTest-1.4.3 backlash-0.1.4 crank-0.8.1 gearbox-0.1.1 repoze.lru-0.7 tg.devtools-2.3.12 tgext.debugbar-0.4.0

Anyone who is affected by this: please try the beta of the new pip dependency resolver in pip 20.2 and see whether that helps?