I've been using Numpy/Scipy for >5 years so know a little on how to get around them.  Recently, I've needed to either freeze or create executables with tools such as PyInstaller, Cython, Py2exe and others on both Windows (XP 32-bit, 7 64-bit) and Ubuntu (12.04) Linux (64-bit).  The test program (which runs perfectly with the Python interpreter) is very simple:
 
import numpy
 
def main():
    print numpy.array([12, 23, 34, 45, 56, 67, 78, 89, 90])
    return
   
if __name__ == '__main__':
    main()
 
The software versions are Python 2.7.3, Numpy 1.7.0, and Scipy 0.11.  The "import numpy" causes an "ImportError: No module named multiarray".  After endless Googling, I am none the wiser about what (really) causes the ImportError let alone what the solution is.  The Traceback, similar to others found on the web, is:
 
Traceback (most recent call last):
  File "test.py", ...
  File "C:\Python27\lib\site-packages\numpy\__init__.py", line 154, in <module>
    import add_newdocs
  File "C:\Python27\lib\site-packages\numpy\add_newdocs.py", line 9, in <module>
    from numpy.lib import add_newdoc
  File "C:\Python27\lib\site-packages\numpy\lib\__init__.py", line 4, in <module>
    from type_check import *
  File "C:\Python27\lib\site-packages\numpy\lib\type_check.py", line 8, in <module>
    import numpy.core.numeric as _nx
  File "C:\Python27\lib\site-packages\numpy\core\__init__.py", line 5, in <module>
    import multiarray
ImportError: No module named multiarray.
 
Could someone shed some light on this - please?  Thx.