numpy load поднимает "AttributeError: у объекта 'module' нет атрибута 'expr'" - PullRequest
10 голосов
/ 20 ноября 2010

Я пытаюсь запустить

#!/usr/bin/env python

import os
from numpy import *

b= ones((3, 3))  
print b  
save('fff',  b)  
a = load('fff.npy')  
print a.shape  
print 'fertig'

, но это вызывает:

Traceback (most recent call last):  
  File "savetest.py", line 9, in <module>  
    a = load('fff.npy')  
  File "/usr/lib/python2.6/dist-packages/numpy/lib/io.py", line 195, in load  
    return format.read_array(fid)  
  File "/usr/lib/python2.6/dist-packages/numpy/lib/format.py", line 353, in read_array  
    shape, fortran_order, dtype = read_array_header_1_0(fp)  
  File "/usr/lib/python2.6/dist-packages/numpy/lib/format.py", line 250, in   read_array_header_1_0  
    d = safe_eval(header)  
  File "/usr/lib/python2.6/dist-packages/numpy/lib/utils.py", line 840, in safe_eval  
    ast = compiler.parse(source, "eval")  
  File "/usr/lib/python2.6/compiler/transformer.py", line 53, in parse  
    return Transformer().parseexpr(buf)  
  File "/usr/lib/python2.6/compiler/transformer.py", line 132, in parseexpr  
    return self.transform(parser.expr(text))  
AttributeError: 'module' object has no attribute 'expr'  

Я пробовал пример из docs.scipy.org , возникает та же ошибкав моем терминале, но он работает в моей ERIC Python IDE.В настоящее время Интернет не предоставляет мне понятного или передаваемого решения.

Наконец, кто-нибудь видит ошибку в моем коде или подходе и может предоставить решение для нее?

1 Ответ

7 голосов
/ 20 ноября 2010

Я думаю, у вас должен быть другой файл с именем parser.py где-то в ваших файлах (те, которые Python может найти).Это делает так, что Python находит неправильный модуль синтаксического анализа.Посмотрите вокруг и посмотрите, так ли это.Это также может быть файл parser.so.

Попробуйте зайти в интерактивный сеанс и наберите:

import parser
print parser.__file__

Надеюсь, это скажет вам, где находится проблемный файл.

...