Specifically, I spent hours and hours trying to fix
import matplotlib.pyplot
producing ImportError: cannot import name _thread
but only in ipython, not the interpreter. (HAHAHAHA fuck you developers).A ton of googling and swearing produced the fact that a package named six that does god knows what was being read out of
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.pyc
instead of /Library/Python/2.7/site-packages
rm -rf'ing the former path fixed things, but fuck only knows what else I may have broken. Just because I want to plot things from ipython.ps -- 6 months ago the above used to work. Why did it stop? I have no bloody idea. But this consumed multiple hours of my life.
Install a virtualenv, and on OS X, maybe install Python from python.org, and then everything works amazingly.
Actually acquiring virtualenv on OS X seems not to be super straightforward, especially if you want to use the system Python interpreter. The best option seems to be to `brew install python`, and then `pip install virtualenv`. Or download Python from python.org, and maybe get Python 3 while you're at it.
Thus, I use my Mac as a fronted with business apps but all dev is done on Linux VMs. I like the separation and avoid all that hair pulling.
Now, dealing with proprietary HW is a whole other can of worms. I spent 3hrs last night trying to load a LE cert into a Polycom phone but had ZERO success getting the phone to use it instead of the factory cert. ARGH.
You have root, and you can build your own enclave of open-source code doing as you desire, but this is true of pretty much any system--certainly it's true on Windows, at least.
Linux is many (good) things, but up until this point in time, "convenience" is not a word I would associate with it. macOS and Windows own that world.