python Spyder没有导入numpy

时间:2014-05-06 08:53:38

标签: python numpy spyder

我正在使用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)

enter image description here

然而,即使有这30个错误,如果我运行它,脚本也可以工作....

对此有何帮助?

2 个答案:

答案 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