名称错误:名称“scipy”未定义。

3
我一直收到“NameError: name 'scipy' is not defined”的错误提示,但我知道我已经下载并导入了scipy。
有什么建议吗?
以下是我的代码:
import scipy.integrate as integrate

exact = scipy.integrate.ode(eq1)
print(exact)

谢谢!!


是的,就像Copperfield所说的那样,使用integrate.ode而不是scipy.integrate。 - SuperTetelman
3
这段代码中没有 import scipy - OneCricketeer
你能澄清一下你是如何知道scipy已经安装并且可以导入它的吗?你的错误提示表明情况并非如此。 - OneCricketeer
@cricket_007 OP收到的错误是NameError,这意味着导入成功,否则会出现ImportError。 - Copperfield
3个回答

4

尝试使用

import scipy.integrate as integrate

exact = integrate.ode(eq1)   #notice, no scipy
print(exact)

问题在于你使用了指令as将模块scipy.integrate导入并绑定到变量integrate,这就是为什么在scipy.integrate.ode(eq1)中会出现名称错误,因为scipy不在你的命名空间中,只有integrate
如果你想要包含scipy,那么请按照以下方式导入。
import scipy

所以你可以使用它的其他功能

import scipy.integrate as integrate
import scipy
exact = integrate.ode(eq1)
print(exact)

或者只是不带as

import scipy.integrate 

exact = scipy.integrate.ode(eq1)
print(exact)

现在有意义了。 - OneCricketeer

2

导入scipy并使用点运算符来调用其方法。

import scipy


0
有时候我们会忘记安装 scipy,这时候可以使用以下命令进行安装:
 pip install scipy

安装成功后,您可以按照以下方式导入:

import scipy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接