我正在使用python Spyder 2.2.5和Windows 7,python 2.7
编写脚本一开始我尝试了所有导入方式:
from numpy import *
或
import numpy
以及
import numpy as np
而且,对于我使用numpy的每一行,我在编译时遇到错误
QR10 = numpy.array(QR10,dtype=float)
QR20 = numpy.array(QR20,dtype=float)
QR11 = numpy.array(QR11,dtype=float)
QR21 = numpy.array(QR21,dtype=float)
然而,即使有这30个错误,如果我运行它,脚本也可以工作....
对此有何帮助?
答案 0 :(得分:4)
Python实际上不能编译。 Spyder使用Pylint执行静态代码分析。根据正在使用的Pylint的版本,它可能是一个错误或不可检测的情况。
例如,import
语句(或获取它的路径)可能位于条件块内,直到运行时才能解析。鉴于您使用的是Spyder,也可能是您将import
语句直接放在控制台上或单独的文件中,然后使用脚本中导入的模块。
您可以尝试查看是否收到与以下脚本相同的错误:
import numpy
QR10 = [1, 2, 3]
QR20 = [1, 2, 3]
QR11 = [1, 2, 3]
QR21 = [1, 2, 3]
QR10 = numpy.array(QR10,dtype=float)
QR20 = numpy.array(QR20,dtype=float)
QR11 = numpy.array(QR11,dtype=float)
QR21 = numpy.array(QR21,dtype=float)
你不应该在这里看到E0602
。然而,有趣的是,你可能会收到[E1101] Module 'numpy' has no 'array' member
,因为结果是numpy对成员进行了一些动态定义,所以Pylint无法知道它(正如你可能看到here)已经实际解决的错误。
故事的寓意是,Pylint错误不应该让你夜不能寐。很高兴看到报告,但是如果你确定你的代码有意义并且运行得恰到好处,你可能会忽略它们 - 虽然试图了解为什么它给出错误总是一个好的锻炼。
答案 1 :(得分:0)
import numpy as np
然后使用
QR10 = np.array(QR10,dtype=float) # instead of numpy.array