Matplotlib issue on OS X ("ImportError: cannot import name _thread")

At some point in the last few days, Matplotlib stopped working for me on OS X. Here's the error I get when trying to import matplotlib:

    Traceback (most recent call last):
      File "/my/path/to/script/", line 15, in <module>
        import matplotlib.pyplot as plt
      File "/Library/Python/2.7/site-packages/matplotlib/", line 34, in <module>
        from matplotlib.figure import Figure, figaspect
      File "/Library/Python/2.7/site-packages/matplotlib/", line 40, in <module>
        from matplotlib.axes import Axes, SubplotBase, subplot_class_factory
      File "/Library/Python/2.7/site-packages/matplotlib/axes/", line 4, in <module>
        from ._subplots import *
      File "/Library/Python/2.7/site-packages/matplotlib/axes/", line 10, in <module>
        from matplotlib.axes._axes import Axes
      File "/Library/Python/2.7/site-packages/matplotlib/axes/", line 22, in <module>
        import matplotlib.dates as _  # <-registers a date unit converter
      File "/Library/Python/2.7/site-packages/matplotlib/", line 126, in <module>
        from dateutil.rrule import (rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY,
      File "/Library/Python/2.7/site-packages/dateutil/", line 14, in <module>
        from six.moves import _thread
    ImportError: cannot import name _thread

The only system change I can think of was the Apple-forced NTP update and maybe some permission changes I did in /usr/local to get Brew working again.

I tried reinstalling both Matplotlib and Python-dateutil via Pip, but this did not help. Also tried a reboot. I'm running Python 2.7.6, which is located in /usr/bin/python. I'm running Yosemite (OS X 10.10.1).

    sudo pip uninstall python-dateutil
    sudo pip install python-dateutil==2.2

I had the same error message this afternoon as well, although I did recently upgrade to Yosemite. I'm not totally sure I understand why reverting dateutil to a previous version works for me, but since running the above I'm having no trouble (I generally use pyplot inline in an ipython notebook).


Back to homepage or read more recommendations: