PyCon is going on right now in Portland. One of the talks today was about how IPython managed dropping support for python2 in IPython 6.0. You can watch the talk here:
Some takeaways from me (all opinions my own):
IPython probably did this a bit too early. Since they're relying on features in pip and setuptools that were only added a few months ago, users are unlikely to have up-to-date versions that will behave nicely.
On the other hand, IPython is a big enough package that they are actually driving people to update their pip installation after hitting some breakage.
We can do things now to minimize pain in the future if we do drop support for some python versions we support right now:
* Define requires_python in our setup.py
* Update our documentation and scripts to use "pip install ." or "pip install -e ." instead of "python setup.py install" or "develop"