Ошибка импорта NumPy - PullRequest
       18

Ошибка импорта NumPy

2 голосов
/ 14 сентября 2011

У меня странная ошибка, когда я пытаюсь импортировать numpy:

Traceback (most recent call last):
  File "/home/timo/malltul/mafet/src/mafet/core/pattern.py", line 7, in <module>
    import numpy as np
  File "/usr/lib/python2.6/dist-packages/numpy/__init__.py", line 147, in <module>
    import ma
  File "/usr/lib/python2.6/dist-packages/numpy/ma/__init__.py", line 44, in <module>
    import core
  File "/usr/lib/python2.6/dist-packages/numpy/ma/core.py", line 4850, in <module>
    all = _frommethod('all')
  File "/usr/lib/python2.6/dist-packages/numpy/ma/core.py", line 4824, in __init__
    self.__doc__ = self.getdoc()
  File "/usr/lib/python2.6/dist-packages/numpy/ma/core.py", line 4830, in getdoc
    signature = self.__name__ + get_object_signature(meth)
  File "/usr/lib/python2.6/dist-packages/numpy/ma/core.py", line 109, in get_object_signature
    import inspect
  File "/usr/lib/python2.6/inspect.py", line 39, in <module>
    import tokenize
  File "/usr/lib/python2.6/tokenize.py", line 38, in <module>
    COMMENT = N_TOKENS
NameError: name 'N_TOKENS' is not defined

Кажется, что причина проблемы в том, что мой скрипт находится в моем собственном пакете с именем core, и всякий раз, когда я пытаюсьимпорт numpy там, я получаю ошибку.В других местах импорт работает нормально.

Единственное решение, которое у меня есть, - переименовать мой пакет 'core' во что-то другое.Почему это важно?Я делаю что-то не так?

Я использую Python2.6 в Ubuntu 10.14.Numpy версия 1.3.0.

РЕДАКТИРОВАТЬ: На самом деле переименование моего пакета не исправить.Переименование token.py в моем пакете исправляет это.Извините за ошибку.

1 Ответ

4 голосов
/ 14 сентября 2011

Я сомневаюсь, что это как-то связано с вашим core модулем или numpy.

. Из трассировки стека может показаться, что проблема в модуле tokenize, который является частьюPython, не является частью numpy.Tokenize делает from token import *, а затем использует N_TOKENS, определенный в token.py.

Прежде всего, я бы проверил, что на вашем PYTHONPATH нет блуждающего модуля с именем token:1015 *

>>> import token
>>> token.__file__
'/usr/lib/python2.6/token.pyc'

Если при этом появляется указанный выше файл, но проблема все еще возникает, я бы предложил переустановить Python.

...