Таинственные ошибки при импорте numy и scipy с помощью «knee.py» - PullRequest
4 голосов
/ 16 июля 2011

В исходный код Python включен файл с именем knee.py.Он переопределяет обычный оператор импорта с помощью своего собственного обработчика.Код должен быть правильным, и для встроенных модулей и модулей с одним файлом это так.Тем не менее, я получаю причудливую ошибку (обе разные), когда я пытаюсь импортировать NumPy с ним.Может ли быть так, что также проходит self?Ни один из кодов в knee.py не написан для объекта, и я почти уверен, что imp.load_module не ожидает аргумента self.У кого-нибудь есть идея относительно того, что может быть причиной проблемы?Я даже вел учет того, что импортировалось, и кажется, что код не сразу сталкивается с проблемой, только после того, как он импортировал некоторые другие вещи в 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

Кто-нибудь знает, что может происходить?

1 Ответ

1 голос
/ 20 июля 2011

решено. (только гарантированное решение для упакованных модулей numpy и scipy)

Я реализовал свое собственное решение.Будьте осторожны, хотя код, который я публикую здесь, работает, он содержит кучу глупых отладочных операторов и закомментированный код, который можно удалить, а также делает несколько других вещей, связанных с тем, для чего я хотел это использовать.

Мое решение: mknee.py

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...