(original) (raw)

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