J'ai le minimum setup.py
:
import setuptools
setuptools.setup(
setup_requires=['pytest-runner'],
tests_require=['mock', 'pytest'],
test_suite='tests',
python_requires='>=2.7',
)
lors de l'exécution avec
python setup.py test
Je reçois toujours l'erreur suivante:
Traceback (dernier appel le plus récent): fichier "setup.py", ligne 8, dans
<module>
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 <module>
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 <module>
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
Le problème apparaît également dans les tests de more_itertools qui sont exécutés lors de la première exécution, lorsque les outils de configuration installent les dépendances de test:
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
Le problème ne se produit pas lorsque j'installe more_itertools avec
pip install more_itertools
La version 6.0 récemment publiée de more-itertools
semble avoir introduit ce bogue. Les éléments suivants devraient le réparer à chaud:
import setuptools
setuptools.setup(
setup_requires=['pytest-runner'],
tests_require=['mock', 'more-itertools<6.0.0', 'pytest'],
test_suite='tests',
python_requires='>=2.7',
)
Le problème est déjà suivi ici: https://github.com/pytest-dev/pytest/issues/477
Crédit: Je viens de voir que @dzieciou a déjà répondu à travers les commentaires.