Hi,

I'm trying to use the import hook in Python2.6, but I'm having a problem. It doesn't work for numpy. My error is such:
>>> import knee
>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "knee.py", line 16, in import_hook
    q, tail = find_head_package(parent, name)
  File "knee.py", line 52, in find_head_package
    q = import_module(head, qname, parent)
  File "knee.py", line 101, in import_module
    m = imp.load_module(fqname, fp, pathname, stuff)
  File "/usr/apps/python2.6/lib/python2.6/site-packages/numpy/__init__.py", line 130, in <module>
    import add_newdocs
  File "knee.py", line 16, in import_hook
    q, tail = find_head_package(parent, name)
  File "knee.py", line 52, in find_head_package
    q = import_module(head, qname, parent)
  File "knee.py", line 101, in import_module
    m = imp.load_module(fqname, fp, pathname, stuff)
  File "/usr/apps/python2.6/lib/python2.6/site-packages/numpy/add_newdocs.py", line 9, in <module>
    from lib import add_newdoc
  File "knee.py", line 16, in import_hook
    q, tail = find_head_package(parent, name)
  File "knee.py", line 52, in find_head_package
    q = import_module(head, qname, parent)
  File "knee.py", line 101, in import_module
    m = imp.load_module(fqname, fp, pathname, stuff)
  File "/usr/apps/python2.6/lib/python2.6/site-packages/numpy/lib/__init__.py", line 4, in <module>
    from type_check import *
  File "knee.py", line 16, in import_hook
    q, tail = find_head_package(parent, name)
  File "knee.py", line 52, in find_head_package
    q = import_module(head, qname, parent)
  File "knee.py", line 101, in import_module
    m = imp.load_module(fqname, fp, pathname, stuff)
  File "/usr/apps/python2.6/lib/python2.6/site-packages/numpy/lib/type_check.py", line 8, in <module>
    import numpy.core.numeric as _nx
  File "knee.py", line 17, in import_hook
    m = load_tail(q, tail)
  File "knee.py", line 68, in load_tail
    m = import_module(head, mname, m)
  File "knee.py", line 101, in import_module
    m = imp.load_module(fqname, fp, pathname, stuff)
  File "/usr/apps/python2.6/lib/python2.6/site-packages/numpy/core/__init__.py", line 6, in <module>
    import umath
  File "knee.py", line 16, in import_hook
    q, tail = find_head_package(parent, name)
  File "knee.py", line 52, in find_head_package
    q = import_module(head, qname, parent)
  File "knee.py", line 101, in import_module
    m = imp.load_module(fqname, fp, pathname, stuff)
TypeError: import_hook() takes at most 4 arguments (5 given)


So I don't know what is going on, unless a "self" is being passed along the way. (which seems like it could happen when looking at __import__ in the source)
Can any of you identify my problem or let me know of a fixed import hook?

Thank you,
Timothy D. Kadich