Python Spyder 显示符号数学

mbi*_*ird 4 python symbolic-math ipython spyder

在 Spyder 2(Anaconda 发行版)和 IPython QT 控制台中,我能够打印符号计算的结果(来自我在上一篇文章中得到的答案),但我无法获得字符串中的方程以使用IPython 的 Rich显示系统

from sympy import *
from IPython.display import display, Math

init_printing(use_unicode=False, wrap_line=False, no_global=True)

x, y, z = symbols('x y z')

#----- prints correctly
ii = integrate(x**2 + x + 1, x) 
display(ii)

#----- does not print
Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')
Run Code Online (Sandbox Code Playgroud)

以上正确打印了积分的结果,但 Math() 不打印(没有错误 - 只是跳过它)。请注意,这一切都适用于 SciPy 网络笔记本。

谢谢!

Car*_*oba 5

Math类不产生从你的乳胶,这就是为什么它不直接工作的渲染图像。

要获得您想要的东西,您需要使用此代码

from IPython.display import Image, display
from IPython.lib.latextools import latex_to_png

eq = r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'
data = latex_to_png(eq, wrap=True)
display(Image(data=data))
Run Code Online (Sandbox Code Playgroud)

然后你会看到正确的图像