I would just like to point out that, for the record, the Homebrew “python” formula (as in,
python.rb) has in fact installed Python 3 for some time now – Homebrew users have been getting Python 3 when doing
brew install python for the last year and change, I want to say?
python.rb formula has not installed a
/usr/local/bin/python symlink to the Python 3 executable, it has installed such a symlink into
/usr/local/opt/python/libexec/bin, alongside symlinks to
pip, and other related executables. The
caveats method of the Python formula helpfully points this out; personally, I have that
libexec directory at the head of my PATH, as I would imagine so do many users of the Python formula.
I still have
python@2 installed, though – mainly to satisfy one or another of the listed formulae whose software problematically targets only Python 2. I would agree with @fxcoudert in that triage is the essential first step for dealing with these.
For example, if I scan the list, I know that:
protobuf.rb can trivially drop Python 2;
qscintilla2.rb specify old variants of packages that have updated formulae already in
supervisor.rb installs a codebase that is probably not going to show Python 3 any love anytime soon, and when it does, it will support being
pip installed as it always has;
fontforge.rb will likely need upstream patches… possibly with simple changes, maybe with complications – technical and/or social;
- Some of these, like
cvs2svn.rb, are probably due for a general review of their utility and statistically-supported popularity; others, such as
email@example.com, could stand to have the utility of their formulae weighed against the versions provided by e.g. PyPI via
pip, Anaconda via
conda, and other package-management systems whose mission may hew more closely to the mission of the software in question.
I would also cast my vote for a grace period for
python@2 – I still occasionally launch its interpreter to examine one or another of its quirky edge-cases, for one reason or another. If it hangs around until 2021, OK sure fine – Python 3 is only going to become more and more excellent during that timeframe, easing the burden of porting the most stubborn of holdouts.