我正在尝试使用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
答案 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”,并删除了“ \”后的空行,将其保存,一切正常。