Python sympy 1.0的matplotlib的正确版本是什么?
我试图在Pycharm中使用Sympy(1.0)的plot模块,但遇到如下错误。我猜这是由于matplotlib(2.0.2)和Sympy(1.0)之间的版本不兼容造成的。有人有线索吗?提前谢谢~Python sympy 1.0的matplotlib的正确版本是什么?,python,matplotlib,sympy,Python,Matplotlib,Sympy,我试图在Pycharm中使用Sympy(1.0)的plot模块,但遇到如下错误。我猜这是由于matplotlib(2.0.2)和Sympy(1.0)之间的版本不兼容造成的。有人有线索吗?提前谢谢~ Traceback (most recent call last): File "/home/leizh/PycharmProjects/Learn_python/Smoothness_Bilinear_Quadrilateral_Elmt.py", line 49, in <module&
Traceback (most recent call last):
File "/home/leizh/PycharmProjects/Learn_python/Smoothness_Bilinear_Quadrilateral_Elmt.py", line 49, in <module>
plot_parametric(cos(u),sin(u),(u,-5,5))
File "/home/leizh/.local/lib/python3.5/site-packages/sympy/plotting/plot.py", line 1415, in plot_parametric
plots.show()
File "/home/leizh/.local/lib/python3.5/site-packages/sympy/plotting/plot.py", line 184, in show
self._backend = self.backend(self)
File "/home/leizh/.local/lib/python3.5/site-packages/sympy/plotting/plot.py", line 1056, in __new__
return MatplotlibBackend(parent)
File "/home/leizh/.local/lib/python3.5/site-packages/sympy/plotting/plot.py", line 868, in __init__
self.cm = self.matplotlib.cm
AttributeError: 'NoneType' object has no attribute 'cm'
我已经能够用matplotlib 2.0.2、sympy 1.0和python 3.4.6重现您的问题。但是,使用matplotlib 2.0.2、sympy 1.0和python 3.5.3可以很好地工作。请注意,我使用的是不同的计算机,但每次都使用全新的虚拟环境。所以这里不应该有其他问题。我建议升级到python 3.5.x 今后,请提供一个“最小”的工作示例,再现您的错误,例如:
import sympy as sym
u = sym.symbols('u')
sym.plotting.plot(sym.sin(u), (u,-5,5))
编辑:两台计算机之间存在差异:一台使用qt4agg后端(不工作),另一台使用tkagg(工作)。因此,在Symphy和matplotlib中使用哪个后端似乎存在问题。我已经能够重现matplotlib 2.0.2、Symphy 1.0和python 3.4.6中的问题。但是,使用matplotlib 2.0.2、sympy 1.0和python 3.5.3可以很好地工作。请注意,我使用的是不同的计算机,但每次都使用全新的虚拟环境。所以这里不应该有其他问题。我建议升级到python 3.5.x 今后,请提供一个“最小”的工作示例,再现您的错误,例如:
import sympy as sym
u = sym.symbols('u')
sym.plotting.plot(sym.sin(u), (u,-5,5))
编辑:两台计算机之间存在差异:一台使用qt4agg后端(不工作),另一台使用tkagg(工作)。因此,在Symphy和matplotlib中使用哪个后端似乎存在问题。您看到这个问题了吗?在python 3.5.3、matplotlib 2.0.2和sympy 1.0中使用全新的虚拟环境时,工作仍然顺畅
sympy.plotting.plot\u参数化(sympy.cos(u),sympy.sin(u),(u,-5,5))
在我的屏幕上呈现一个漂亮的圆。也许你在pycharm中遇到了一个bug?我想发布代码中重现错误的相关部分会有所帮助。谢谢你的帮助。我刚刚添加了原始代码。执行之后,问题就出现在文件symy.plot.py的行上:self.matplotlib=import\u module('matplotlib','uuu import\uu kwargs={'fromlist':['pyplot','cm','collections']},min\u module u version='1.1.0',catch=(RuntimeError,)
。它无法导入模块matplotlib。所以我理解它为什么会产生错误,但仍然不知道如何修复它。通过安装python3tk包解决了这个问题。您看到这个问题了吗?在python 3.5.3、matplotlib 2.0.2和sympy 1.0中使用全新的虚拟环境时,工作仍然顺畅sympy.plotting.plot\u参数化(sympy.cos(u),sympy.sin(u),(u,-5,5))
在我的屏幕上呈现一个漂亮的圆。也许你在pycharm中遇到了一个bug?我想发布代码中重现错误的相关部分会有所帮助。谢谢你的帮助。我刚刚添加了原始代码。执行之后,问题就出现在文件symy.plot.py的行上:self.matplotlib=import\u module('matplotlib','uuu import\uu kwargs={'fromlist':['pyplot','cm','collections']},min\u module u version='1.1.0',catch=(RuntimeError,)
。它无法导入模块matplotlib。所以我理解它为什么会产生错误,但仍然不知道如何修复它。通过安装python3 tk包解决了这个问题。感谢您的帮助。这个问题在我的计算机上通过安装python3tk包得到了解决。使用matplotlib的后端是正确的。因此,Symphy和Matplotlib之间的兼容性不是问题。也许我需要更改问题的标题…谢谢你的帮助。这个问题在我的计算机上通过安装python3tk包得到了解决。使用matplotlib的后端是正确的。因此,Symphy和Matplotlib之间的兼容性不是问题。也许我需要更改问题的标题。。。