AttributeError:部分初始化的模块'sympy'没有属性'S'(很可能是由于循环导入)

时间:2020-10-28 03:05:19

标签: python sympy attributeerror

这是我的代码

x,t = sympy.S('x,t')

def dawson(i):
    x = i
    expression = sympy.E**(-x**2) * sympy.integrate(sympy.E**(t**2),t,0,x)
    return sympy.lamdify(expression)

但是当我执行它时我得到那个奇怪的错误,这是第一次发生。为什么sympy 部分被初始化,并且循环导入在这里意味着什么?

1 个答案:

答案 0 :(得分:0)

不太确定这是否有帮助,但是将其发布给答案,因为对于我来说,使用另一个模块requests (python -m pip install requests)时会发生此错误,而这就是我的解决方法。

发生这种情况是因为我命名了文件random.py,该文件恰好也是python stdlib中模块的名称。

MCVE

import requests
requests.get(None)

将文件另存为random.py并运行。

AttributeError: partially initialized module 'requests' has no attribute 'get' (most likely due to a circular import)

将文件重命名为另一个名称为我解决了这个问题。

所以我的猜测是,您的文件名称与python的stdlib模块中的任何文件都不相同,并且在当前工作目录中也没有任何具有相同名称的.py文件(如果您遵循上一个建议)。