2011-07-16 4 views
4

knee.pyというPythonソースに含まれているファイルがあります。それはそれ自身のフックで通常のimport文を無効にします。コードは正しいと思われ、組み込みモジュールと単一ファイルモジュールの場合はそうです。しかし、私はそれでnumpyをインポートしようとすると、奇妙なエラー(どちらも異なる)が発生します。これが起こるだろう、なぜ私は得ることはありません「knee.py」でnumpyとscipyをインポートする際に間違ったエラーが発生する

(...long stack trace) 
    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) 

selfも渡されている可能性がありますか? knee.pyのコードはオブジェクト用に書かれていないので、imp.load_moduleself引数を期待していません。誰かが問題の原因となる可能性のあるアイデアを持っていますか?私は輸入されているものの記録を残していただけで、コードが問題に直面することはなく、numpyで他のものをインポートした後でしかないようです。 scipyのダウンロードの場合については

、私はnumpyの事件に関連している可能性があり、エラー、取得:

(...long stack trace) 
    File "/usr/apps/python2.6/lib/python2.6/site-packages/numpy/core/__init__.py", line 10, in <module> 
    import _sort 
    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) 
ImportError: numpy.core.multiarray failed to import 

を誰もが起こって何ができるかのアイデアを持っていますか?

+0

別のpython Cエクステンションで試したことがありますか? (「cStringIO」とか、スタンドアードライブラリの何か他のこと?)私は本当に手がかりも持っていませんが、numpy特有の問題であろうと一般的なC拡張問題であろうと、それを絞り込むのに役立ちます。 –

+0

'cStringIO'は正常に動作しました。 – Tim

答えて

1

解決済み。(パッケージされたモジュールnumpyとscipyの保証ソリューションのみ)

私は自分のソリューションを実装しました。私がここに投稿したコードは動作しますが、それは愚かなデバッグ文を含んでいて、削除できるコードをコメントアウトしただけでなく、これを使用したいものに関連するいくつかのことをしています。

私の解決策:mknee.py

+0

Tsksksk - 壊れたリンク –

関連する問題