Archive for April, 2013

Matt requested that /proc/sys/vm/overcommit_memory is set to 2 on some nodes. To do this, edit /etc/sysctl.conf. To the end of the file, add this line:

vm.overcommit_memory = 2

To make it take effect without rebooting, run:

sysctl -p

To determine which version of a python package using, import the package and then check the version. Something like this:

>>> import matplotlib
>>> matplotlib.__version__
'1.2.0'

We were missing the tkinter package on some of our systems and this was causing a problem with matplotlib. You could see the error by running these commands:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
Traceback (most recent call last):
 File "", line 1, in 
 File "/usr/lib64/python2.6/site-packages/matplotlib/pyplot.py", line 97, in 
   _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
 File "/usr/lib64/python2.6/site-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
   globals(),locals(),[backend_name])
 File "/usr/lib64/python2.6/site-packages/matplotlib/backends/backend_tkagg.py", line 11, in 
   import matplotlib.backends.tkagg as tkagg
 File "/usr/lib64/python2.6/site-packages/matplotlib/backends/tkagg.py", line 2, in 
   from matplotlib.backends import _tkagg
ImportError: cannot import name _tkagg

The solution was to install the tkinter package (yum install tkinter) and then recompile matplotlib so that it used tkinter.

$ python setup.py build
$ python setup.py install

After that, the same commands as above worked fine.