Проблема здесь в том, что pycco не поддерживает расширения глобусов. Что заставляет pycco *.py
работать, так это то, что перед выполнением оболочка фактически преобразует *.py
в реальные файлы; а затем передает его в ОС для его запуска.
Когда tox запускает вашу команду, оболочка не задействуется, поэтому все, что вы пишете, передается в ОС, поэтому теперь pycco фактически получает в качестве аргумента *.py
отсюда и ошибка.
Вы можете обойти это, либо явно перечислив пути к файлам, либо используя интерпретатор python для выполнения расширения:
python -c 'from glob import glob; import subprocess; subprocess.check_call(["pycco"] + glob("*.py"))'
Поместите указанную выше команду в свой tox команды и другие вещи теперь будут работать, поскольку python теперь оболочка, расширяющая "* .py" до фактического списка файлов.