diff --git a/test/integration/targets/pip/tasks/pip.yml b/test/integration/targets/pip/tasks/pip.yml
index 658e4711b6f..b6df5ec297a 100644
--- a/test/integration/targets/pip/tasks/pip.yml
+++ b/test/integration/targets/pip/tasks/pip.yml
@@ -83,6 +83,9 @@
 - name: make sure the test env doesn't exist
   file: state=absent name={{ output_dir }}/pipenv
 
+- name: install a working version of setuptools in the virtualenv
+  pip: name=setuptools virtualenv={{ output_dir }}/pipenv state=present version=33.1.1
+
 - name: create a requirement file with an vcs url
   copy: dest={{ output_dir }}/pipreq.txt
     content="-e git+https://github.com/dvarrazzo/pyiso8601#egg=pyiso8601"
diff --git a/test/runner/requirements/constraints.txt b/test/runner/requirements/constraints.txt
index 2a64bb5c2a1..76a6156cc04 100644
--- a/test/runner/requirements/constraints.txt
+++ b/test/runner/requirements/constraints.txt
@@ -2,3 +2,4 @@ coverage >= 4.2, != 4.3.2 # features in 4.2+ required, avoid known bug in 4.3.2
 pywinrm >= 0.2.1 # 0.1.1 required, but 0.2.1 provides better performance
 pylint >= 1.5.3, < 1.7.0 # 1.4.1 adds JSON output, but 1.5.3 fixes bugs related to JSON output
 sphinx < 1.6 ; python_version < '2.7' # sphinx 1.6 and later require python 2.7 or later
+isort < 4.2.8 # 4.2.8 changes import sort order requirements which breaks previously passing pylint tests
diff --git a/test/runner/tox.ini b/test/runner/tox.ini
index 0c3ca8ad65e..355121c69ab 100644
--- a/test/runner/tox.ini
+++ b/test/runner/tox.ini
@@ -7,3 +7,4 @@ changedir = {toxinidir}/../../
 commands = {posargs}
 passenv = HOME SHIPPABLE*
 args_are_paths = False
+deps = setuptools == 35.0.2