我有Python 3.3.3和SymPy 0.7.4.1,都是x64版本,并在我的计算机上本地安装.我正在使用PSPad作为Python脚本编写的配置编辑器.
sympy在模块中使用库中的导入时,应该求解一组三个线性方程:
from sympy import Matrix, solve_linear_system
from sympy.abc import x, y, z
def main():
system = Matrix (((3,2,-1,1) ,(2,-2,4,-2),(-1,0.5,-1,0)))
print(solve_linear_system(system, x, y,z))
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
编辑器PSPad控制台输出返回以下内容:
traceback (most recent call last): File "C:\Users\GOODLU~1\AppData\Local\Temp\PSpad\securesafety_DISK_5GB\Programmation\linear system solve SYMPY.py", line 1, in <module>
from sympy import Matrix,solve_linear_system File "C:\Users\GOODLU~1\AppData\Local\Temp\PSpad\securesafety_DISK_5GB\Programmation\sympy.py", line 2, in <module>
from sympy import var,Eq,solve ImportError: cannot import name var
Process completed, Exit Code 1.
Execution time: 00:00.134
Run Code Online (Sandbox Code Playgroud)
实际上,我对这些问题非常怀疑:
为什么,当键入相同的东西,没有对象def main(),并在IDLE中逐行输入时,一切都正确解决,如:{x: 1.00000000000000, y: -2.00000000000000, z: -2.00000000000000}
为什么我的带有对象的PSPad文件具有相同的计算行,不起作用并返回错误?
实际上,我想在普通的python代码中使用SymPy并在列表中获得计算结果或在控制台中打印(如在IDLE中一样).为了避免一些烦人的线到线IDLE操作,我的代码文件应该是什么样的?
问题似乎是您创建了一个名为的文件sympy.py,该文件与sympy模块同名.
因此,在from sympy import ...声明中,您sympy.py扮演的是同情模块.
尝试将文件重命名为其他内容,sympy_programming_test.py并告知其是否有效.