Sintaxis no válida en more-itertools al ejecutar pytest

Tengo el siguiente setup.py mínimo:

 import setuptools setuptools.setup( setup_requires=['pytest-runner'], tests_require=['mock', 'pytest'], test_suite='tests', python_requires='>=2.7', ) 

cuando se ejecuta con

 python setup.py test 

Sigo recibiendo el siguiente error:

Seguimiento (última llamada más reciente): archivo “setup.py”, línea 8, en

  python_requires='>=2.7', File "/Users/project/tmp/env/lib/python2.7/site-packages/setuptools/__init__.py", line 145, in setup return distutils.core.setup(**attrs) File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 151, in setup dist.run_commands() File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands self.run_command(cmd) File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command cmd_obj.run() File "/Users/project/tmp/.eggs/pytest_runner-4.2-py2.7.egg/ptr.py", line 176, in run return self.run_tests() File "/Users/project/tmp/.eggs/pytest_runner-4.2-py2.7.egg/ptr.py", line 187, in run_tests result_code = __import__('pytest').main() File "/Users/project/tmp/.eggs/pytest-4.2.0-py2.7.egg/pytest.py", line 14, in  from _pytest.fixtures import fillfixtures as _fillfuncargs File "/Users/project/tmp/.eggs/pytest-4.2.0-py2.7.egg/_pytest/fixtures.py", line 16, in  from more_itertools import flatten File "build/bdist.macosx-10.13-x86_64/egg/more_itertools/__init__.py", line 1, in <module File "/Users/project/tmp/.eggs/more_itertools-6.0.0-py2.7.egg/more_itertools/more.py", line 329 def _collate(*iterables, key=lambda a: a, reverse=False): ^ SyntaxError: invalid syntax 

El problema aparece también en las pruebas de more_itertools que se ejecutan durante la primera ejecución, cuando las herramientas de configuración instalan dependencias de prueba:

 Downloading https://files.pythonhosted.org/packages/dd/f4/cdfbb6f07f767e0cd8a11b16adfecc735b6eb87dbebda026ce8898e1cc22/more-itertools-6.0.0.tar.gz#sha256=590044e3942351a1bdb1de960b739ff4ce277960f2425ad4509446dbace8d9d1 Best match: more-itertools 6.0.0 Processing more-itertools-6.0.0.tar.gz Writing /var/folders/lq/c1ll7pqx7rb28p7m_8wz3h2d0r0mws/T/easy_install-Auek5Z/more-itertools-6.0.0/setup.cfg Running more-itertools-6.0.0/setup.py -q bdist_egg --dist-dir /var/folders/lq/c1ll7pqx7rb28p7m_8wz3h2d0r0mws/T/easy_install-Auek5Z/more-itertools-6.0.0/egg-dist-tmp-I3ic_t warning: no files found matching 'fabfile.py' File "build/bdist.macosx-10.13-x86_64/egg/more_itertools/tests/test_more.py", line 892 print(item, file=f) ^ SyntaxError: invalid syntax File "build/bdist.macosx-10.13-x86_64/egg/more_itertools/more.py", line 329 def _collate(*iterables, key=lambda a: a, reverse=False): ^ SyntaxError: invalid syntax zip_safe flag not set; analyzing archive contents... Copying more_itertools-6.0.0-py2.7.egg to /Users/project/tmp/.eggs Installed /Users/project/tmp/.eggs/more_itertools-6.0.0-py2.7.egg 

El problema no ocurre cuando instalo more_itertools con

 pip install more_itertools 

La versión 6.0 recientemente lanzada de more-itertools parece haber introducido este error. Lo siguiente debería arreglarlo en caliente:

 import setuptools setuptools.setup( setup_requires=['pytest-runner'], tests_require=['mock', 'more-itertools<6.0.0', 'pytest'], test_suite='tests', python_requires='>=2.7', ) 

El problema ya está rastreado aquí: https://github.com/pytest-dev/pytest/issues/4770

Crédito: Acabo de ver que @dzieciou ya respondió a través de los comentarios.