导入numpy时出错

导入numpy时出错,numpy,python-2.6,Numpy,Python 2.6,我在尝试导入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 <mod

我在尝试导入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
回溯(最近一次呼叫最后一次):
文件“/home/timo/malltul/mafet/src/mafet/core/pattern.py”,第7行,在
将numpy作为np导入
文件“/usr/lib/python2.6/dist-packages/numpy/_-init__.py”,第147行,在
进口ma
文件“/usr/lib/python2.6/dist packages/numpy/ma/_init__.py”,第44行,在
导入核心
文件“/usr/lib/python2.6/dist-packages/numpy/ma/core.py”,第4850行,在
all=\u frommethod('all'))
文件“/usr/lib/python2.6/dist packages/numpy/ma/core.py”,第4824行,在__
self.\uuuudoc\uuuuuu=self.getdoc()
文件“/usr/lib/python2.6/dist-packages/numpy/ma/core.py”,第4830行,在getdoc中
签名=自我。\名称\获取\对象\签名(meth)
文件“/usr/lib/python2.6/dist packages/numpy/ma/core.py”,第109行,在get\u object\u签名中
进口检验
文件“/usr/lib/python2.6/inspect.py”,第39行,在
导入标记化
文件“/usr/lib/python2.6/tokenize.py”,第38行,在
注释=N_标记
NameError:未定义名称“N_标记”
问题的原因似乎是我的脚本在我自己的名为
core
的包中,每当我尝试在那里导入
numpy
时,都会出现错误。进口在其他地方也行

到目前为止,我得到的唯一解决方案是将我的“核心”包重命名为其他包。为什么这很重要?我做错什么了吗

我正在Ubuntu 10.14上使用Python2.6。Numpy版本是1.3.0


编辑:实际上重命名我的包并不能修复它。在我的包中重命名token.py可以修复它。很抱歉出错。

我怀疑这与您的
核心
模块或
numpy
有关

从堆栈跟踪来看,问题似乎出在
tokenize
模块上,它是Python的一部分,而不是
numpy
的一部分
Tokenize
从令牌导入*执行
,然后使用
N_令牌
中定义的
token.py

首先,我要检查您的
PYTHONPATH
上是否没有名为
token
的杂散模块:

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

如果上面的文件仍然存在问题,我建议重新安装Python。

似乎是我自己的模块token.py造成了问题。@Timo:是的,这听起来很有道理。作为一个永久性的解决方案,我建议将您的模块称为其他模块。啊,这解决了我的问题。我已经在我的工作区中添加了一个名为
token.py
的文件,该路径已添加到
PYTHONPATH