title: Loading numpy structured array saved in python3 in python2
body: <p>It does not appear to be possible to load numpy structured arrays saved in python3 within python2 because the field names are unicode strings. </p>
  
  <pre><code>$ python3
  Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
  &gt;&gt;&gt; a = np.zeros(4, dtype=[('x',int)])
  &gt;&gt;&gt; np.save('a.npy', {'a': a})
  &gt;&gt;&gt; 
  $ python2
  Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
  &gt;&gt;&gt; np.load('a.npy')
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
    File "/usr/local/lib/python2.7/dist-packages/numpy/lib/npyio.py", line 393, in load
      return format.read_array(fid)
    File "/usr/local/lib/python2.7/dist-packages/numpy/lib/format.py", line 602, in read_array
  array = pickle.load(fp)
  ValueError: non-string names in Numpy dtype unpickling
  </code></pre>
  
  <p>This has been a numpy bug for quite some time:
  <a href="https://github.com/numpy/numpy/issues/2407" rel="nofollow">https://github.com/numpy/numpy/issues/2407</a></p>
  
  <p>Does anyone have a work around to be able to load numpy structured arrays from python3 in python2 (without having to load and re-save in python3)?</p>