python:导入mayavi.mlab会产生语法错误

时间:2018-12-21 16:56:16

标签: python pip

我正在尝试使用mayavi创建3d图,但是在运行python脚本时出现以下错误:

 Traceback (most recent call last):
  File "test.py", line 1, in <module>
    import mayavi.mlab
  File "C:\Python37\lib\site-packages\mayavi\mlab.py", line 15, in <module>
    from mayavi.core.common import process_ui_events
  File "C:\Python37\lib\site-packages\mayavi\core\common.py", line 16, in <module>
    from apptools.persistence.state_pickler import create_instance
  File "C:\Python37\lib\site-packages\apptools\persistence\state_pickler.py", line 1210

    ^
SyntaxError: invalid syntax

我要测试的功能:

  def create_3D(dataset):
    #Extract the x, y ,z and von mises data from the numpy dataset and create an array for each.
    xs = dataset[:,1]
    ys = dataset[:,2]
    zs = dataset[:,3]
    v = dataset[:,4]

    # Define the points in 3D space
    # including color code based on value v
    pts = mlab.points3d(xs, ys, zs , v)

    # Triangulate based on X, Y with Delaunay 2D algorithm.
    # Save resulting triangulation.
    mesh = mlab.pipeline.delaunay2d(pts)

    # Remove the point representation from the plot
    pts.remove()

    # Draw a surface based on the triangulation
    surf = mlab.pipeline.surface(mesh)

    # Simple plot.
    mlab.xlabel("x")
    mlab.ylabel("y")
    mlab.zlabel("z")
    mlab.show()

有什么主意我可以解决这个问题吗? 我按照建议的安装过程here     $ pip install mayavi

$ pip install PyQt5

我正在使用64位版本的python 3.7

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,但是解决了。似乎出现在state_pickler.py文件中的几个位置(错误消息告诉该位置,它在“ if .... \ and”中有\(用于将and条件拆分为多行),只是为了删除\将所有的“和”条件放在一行中。问题出在几个地方,然后就可以了!

答案 1 :(得分:0)

state_pickler.py只有1022行,没有1210行。

删除目录C:\Python37\lib\site-packages\apptools\persistence\__pycache__,然后重试。

尝试重新安装apptools

pip install -U apptools

答案 2 :(得分:0)

对于Windows 10,Python 3.7.4(Anaconda 2019.10)

雷姆怎么说: “在Windows上确实有很多行;某种程度上,所有换行都加倍。语法错误来自反斜杠后继续的行,因为在Windows上,反斜杠和该行的延续之间有一个空行。”

在Windows中,我只找到文件“ state_pickler.py”,并删除了“ \”后的空行,将其保存,一切正常。