# HG changeset patch # User domruf # Date 1470241593 -7200 # Node ID 3521120e72bc726cad27fa41a307b52f1d831332 # Parent c82f90f4fc19de508970564c58d5d13d0b8b794f setup: limit WebTest version to <2.0 Running pip install -e . in a clean environment (or --upgrade), would cause: "ContextualVersionConflict: (WebOb 1.1.1 (.../lib/python2.7/site-packages), Requirement.parse('WebOb>=1.2'), set(['WebTest']))" setup.py required webob>=1.0.8,<=1.1.1 which pip resolved as WebOb==1.1.1. setup.py required Pylons which requires WebTest>=1.3.1. Pip would thus install the latest WebTest-2.0.23 ... which however has a WebOb>=1.2 dependency. Pip only makes one pass at resolving dependencies and it would not resolve or notice this inconsistency. This problem came with dd676fdeda0f which moved pinning of WebTest 1.4.3 out of setup.py. Since Pylons require webtest anyway, there is no point in having it as a dev requirement only - put it back in setup.py. This might just be a temporary workaround until the WebOb version is updated. Original patch by Dominik has been rewritten by Mads. diff -r c82f90f4fc19 -r 3521120e72bc dev_requirements.txt --- a/dev_requirements.txt Mon Mar 14 15:30:22 2016 +0100 +++ b/dev_requirements.txt Wed Aug 03 18:26:33 2016 +0200 @@ -2,6 +2,6 @@ pytest-runner pytest-sugar>=0.7.0,<1.0.0 pytest-catchlog -webtest==1.4.3 +WebTest<2 # this is also a Pylons dependency and pinned in setup.py to avoid version conflicts for WebOb mock sphinx diff -r c82f90f4fc19 -r 3521120e72bc setup.py --- a/setup.py Mon Mar 14 15:30:22 2016 +0100 +++ b/setup.py Wed Aug 03 18:26:33 2016 +0200 @@ -39,6 +39,7 @@ "waitress>=0.8.8,<1.0", "webob>=1.0.8,<=1.1.1", "Pylons>=1.0.0,<=1.0.2", + "WebTest<2.0", # make the Pylons dependency pick a version that supports our WebOb version "Beaker==1.6.4", "WebHelpers==1.3", "formencode>=1.2.4,<=1.2.6",