CleanCut / green

Green is a clean, colorful, fast python test runner.
MIT License
786 stars 74 forks source link

green breaks ./setup.py --help-commands #183

Closed buzz closed 6 years ago

buzz commented 6 years ago

I have a virtualenv, pip install green and have a standard setup.py. The following happens:

$ ./setup.py --help-commands                                                                                                                                    setuppy! venv
usage: green [options] [target [target2 ...]]
green: error: unrecognized arguments: --help-commands

If I do pip uninstall green things work as expected:

$ ./setup.py --help-commands                                                                                                                                             Standard commands:
  build            build everything needed to install
  build_py         "build" pure Python modules (copy to build directory)
  build_ext        build C/C++ extensions (compile/link to build directory)
  build_clib       build C/C++ libraries used by Python extensions
  build_scripts    "build" scripts (copy and fixup #! line)
  clean            clean up temporary files from 'build' command
  install          install everything from build directory
  install_lib      install all Python modules (extensions and pure Python)
  install_headers  install C/C++ header files
  install_scripts  install scripts (Python or otherwise)
  install_data     install data files
  sdist            create a source distribution (tarball, zip file, etc.)
  register         register the distribution with the Python package index
  bdist            create a built (binary) distribution
  bdist_dumb       create a "dumb" built distribution
  bdist_rpm        create an RPM distribution
  bdist_wininst    create an executable installer for MS Windows
  check            perform some checks on the package
  upload           upload binary package to PyPI

usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

My test setup.py:

#!/usr/bin/env python

from setuptools import setup

setup(name='foo',
      version='1.0',
      description='foo description',
      author='Foo',
      author_email='foo@example.com',
      url='https://www.example.com',
      packages=['foo',],
     )

If I change from setuptools import setup to from distutils.core import setup things are working again.

This only seems to happen on Python3 not Python2.

CleanCut commented 6 years ago

Wait, what??? I don't see how green could even get involved given that your code never imports it. Weird!

I'll see if I can reproduce that error on my setup.

What are your exact versions of the following?

Also, do you have an actual foo/ directory with any code in it? (Or any other code in your directory at all?)

CleanCut commented 6 years ago

Fixed by @althonos in #184