travis: install latest setuptools before running tox

The Travis OS-X worker has a very old setuptools-18.5 in /System. This is too
old to understand several important setup.py keys like `python_requires`, and
crashes when tryung to run the first invocation of tox (`tox -e codechecks`).
I think tox is using the system python (with which `tox` was invoked) to run
`setup.py egg_info` (to learn the dependencies), which gets the old
system-installed setuptools. Ideally it'd use the python from the
newly-created virtualenv, which would use whatever version of setuptools was
bundled with the `virtualenv` package (probably newer, given that
`virtualenv` itself should have been installed a moment earlier as a
dependency of `tox`.

I consider this a bug in Tox (https://github.com/tox-dev/tox/issues/507), but
the workaround is to configure Travis to install the most recent `setuptools`
along with `tox`.

refs tahoe-lafs/tahoe-lafs#470
This commit is contained in:
Brian Warner 2018-03-20 17:22:07 -07:00
parent 3bb4c979c8
commit 6f20dbc9a3

View File

@ -19,7 +19,7 @@ install:
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export PATH=$HOME/Library/Python/2.7/bin:$PATH; fi
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then wget https://bootstrap.pypa.io/get-pip.py && sudo python ./get-pip.py; fi
- pip list
- pip install --user codecov tox
- pip install --user codecov tox setuptools
- echo $PATH; which python; which pip; which tox
- python misc/build_helpers/show-tool-versions.py
script: