My 2.x/3.x python module shows exceptions on install when installing with Python versions before 3.3.
Some files use yield from
syntax introduced in Python 3.3, and setup.py tries to compile everything on install, resulting in syntax errors and stack trace displays under versions before 3.3
The 3.3+ code is isolated in its own files and conditionally imported, so the compile error has no impact on run-time use of the module under any version, but it displays ugly error messages on install, as described above.
I could wrap each 3.3+ code block in a triple-quoted string, eval it, and catch compile errors, but that makes maintenance arbitrarily harder, so I am hoping for a more elegant solution.