I had a bug report against cliff that cmd2 0.8.3 breaks the interactive mode because of a missing package. Looking at setup.py, I see it doing a bunch of logic in Python that could be handled using environment markers passed to setuptools instead that would let it be more reliable and let it work with wheels.
The original bug report is at https://bugs.launchpad.net/python-cliff/+bug/1762715