Fix Python version compatibility and dependencies in the macOS installer.
Review Request #8572 — Created Dec. 14, 2016 and submitted — Latest diff uploaded
The macOS installer had previously hard-coded dependencies, given that `setup.py install` doesn't install dependencies itself. This ended up breaking us with the introduction of tqdm. Along with this, we were prioritiziing Python 2.6 over 2.7, to support earlier versions of Python (due to the way that binaries were installed using easy_install). This change simplifies the work the installer has to do. Gone are the manual dependency installs. Instead, we build a wheel package and then install it for both Python 2.6 and 2.7. This gives us smarter, easier dependency installation, and it also gives us smarter compatibility with different versions of macOS. Pip will install 2.7 binaries to the Python2.7 binary directory, and 2.6 binaries to /usr/local/bin. On modern versions of macOS, the Python2.7 binary directory will be checked before /usr/local/bin, and on older versions it won't be checked at all, giving us the proper compatibility across all systems.
Built an installer and installed it on macOS. Saw that all the expected
files were there, including dependencies, for both Python 2.6 and 2.7.
Both versions ran, and 2.7 took priority on the install.