Previously working doc8 setup on Python 2.7 under TravisCI has stopped working, likely due to a change in one of the doc8 dependencies - probably the release of docutils==0.15
e.g. https://travis-ci.org/biopython/biopython/jobs/562142435 or https://travis-ci.org/biopython/biopython/jobs/562241084 fails:
```
$ bash -c 'doc8 --ignore-path '"'"'Doc/examples/ec_*.txt'"'"' *.rst Doc/'
Traceback (most recent call last):
File "/home/travis/build/biopython/biopython/.tox/style/bin/doc8", line 7, in <module>
from doc8.main import main
File "/home/travis/build/biopython/biopython/.tox/style/lib/python2.7/site-packages/doc8/main.py", line 48, in <module>
from doc8 import checks
File "/home/travis/build/biopython/biopython/.tox/style/lib/python2.7/site-packages/doc8/checks.py", line 21, in <module>
from docutils import nodes as docutils_nodes
File "/home/travis/build/biopython/biopython/.tox/style/lib/python2.7/site-packages/docutils/nodes.py", line 32, in <module>
import docutils.utils
File "/home/travis/build/biopython/biopython/.tox/style/lib/python2.7/site-packages/docutils/utils/__init__.py", line 20, in <module>
from docutils import nodes
ImportError: cannot import name nodes
ERROR: InvocationError for command /bin/bash -c 'doc8 --ignore-path '"'"'Doc/examples/ec_*.txt'"'"' *.rst Doc/' (exited with code 1)
```
Versions:
```
chardet==3.0.4,configparser==3.7.4,doc8==0.8.0,docutils==0.15,entrypoints==0.3,enum34==1.1.6,flake8==3.7.8,flake8-blind-except==0.1.1,flake8-comprehensions==1.4.1,flake8-docstrings==1.3.0,flake8-polyfill==1.0.2,flake8-rst-docstrings==0.0.10,functools32==3.2.3.post2,mccabe==0.6.1,pbr==5.4.1,pycodestyle==2.5.0,pydocstyle==3.0.0,pyflakes==2.1.1,restructuredtext-lint==1.3.0,six==1.12.0,snowballstemmer==1.9.0,stevedore==1.30.1,typing==3.7.4
```
Recent working run, 6 days ago https://travis-ci.org/biopython/biopython/jobs/559669670
```
chardet==3.0.4,configparser==3.7.4,doc8==0.8.0,docutils==0.14,entrypoints==0.3,enum34==1.1.6,flake8==3.7.8,flake8-blind-except==0.1.1,flake8-comprehensions==1.4.1,flake8-docstrings==1.3.0,flake8-polyfill==1.0.2,flake8-rst-docstrings==0.0.10,functools32==3.2.3.post2,mccabe==0.6.1,pbr==5.4.0,pycodestyle==2.5.0,pydocstyle==3.0.0,pyflakes==2.1.1,restructuredtext-lint==1.3.0,six==1.12.0,snowballstemmer==1.9.0,stevedore==1.30.1,typing==3.7.4
```
```
$ bash -c 'doc8 --ignore-path '"'"'Doc/examples/ec_*.txt'"'"' *.rst Doc/'
Scanning...
Validating...
========
Total files scanned = 8
Total files ignored = 1
Total accumulated errors = 0
Detailed error counts:
- doc8.checks.CheckCarriageReturn = 0
- doc8.checks.CheckIndentationNoTab = 0
- doc8.checks.CheckMaxLineLength = 0
- doc8.checks.CheckNewlineEndOfFile = 0
- doc8.checks.CheckTrailingWhitespace = 0
- doc8.checks.CheckValidity = 0
```
Could be a side effect of https:/ /sourceforge. net/p/docutils/ bugs/366/