Fix Python version compatibility and dependencies in the macOS installer.

Review Request #8572 — Created Dec. 14, 2016 and submitted — Latest diff uploaded

Information

RBTools
release-0.7.x
392421f...

Reviewers

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.

    Loading...