changeset 6137:3521120e72bc

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.
author domruf <dominikruf@gmail.com>
date Wed, 03 Aug 2016 18:26:33 +0200
parents c82f90f4fc19
children 0afdd2802a0a
files dev_requirements.txt setup.py
diffstat 2 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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",