python Spyder无法导入numpy
我正在使用Windows 7和Python 2.7的Spyder 2.2.5写一个脚本。
一开始我尝试了各种导入的方法:
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个错误,这个脚本在运行时还是能正常工作……
有没有人能帮帮我?
2 个回答
0
import numpy as np
QR10 = np.array(QR10,dtype=float) # instead of numpy.array
然后使用
4
Python其实是不能被编译的。Spyder只是用Pylint进行了一些静态代码分析。根据你使用的Pylint版本,可能会出现一些bug或者无法检测到的情况。
举个例子,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无法知道这一点(你可以在这里看到),而这个bug其实已经解决了。
这个故事的道理是,Pylint的错误不应该让你夜不能寐。看到报告是好事,但如果你确定你的代码是合理的并且运行正常,那你可以选择忽略这些错误——不过,尝试了解为什么会出现错误总是个不错的练习。