我试图使用 mayavi 创建 3d 绘图,但在运行我的 python 脚本时出现以下错误:
Traceback (most recent call last):
File "test.py", line 1, in <module>
import mayavi.mlab
File "C:Python37libsite-packagesmayavimlab.py", line 15, in <module>
from mayavi.core.common import process_ui_events
File "C:Python37libsite-packagesmayavicorecommon.py", line 16, in <module>
from apptools.persistence.state_pickler import create_instance
File "C:Python37libsite-packagesapptoolspersistencestate_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()
知道我该如何解决这个问题吗?我按照此处建议的安装过程进行操作 $ 点子安装 马亚维
$ pip install PyQt5
我使用的是 64 位版本的 python 3.7
我遇到了同样的问题,但解决了它。 似乎在state_pickler.py文件中,在几个地方(错误消息告诉的地方,它在"if ...\和"(用于将和条件拆分为多行)中有\,只是为了删除\以使所有"和"条件在一行中。有几个地方有这个问题,然后令人惊讶的是它有效!
对于 Windows 10,Python 3.7.4 (Anaconda 2019.10)
雷姆如何说:"在Windows上,它确实有很多行;不知何故,所有换行符都加倍了。语法错误来自反斜杠之后的连续行,因为在 Windows 上,反斜杠和行的延续之间有一个空行。
在窗口中,我只找到文件"state_pickler.py"并删除了"\"后面的空行,保存了它,一切正常。
state_pickler.py
只有1022 行长,它没有 1210 行。
删除目录C:Python37libsite-packagesapptoolspersistence__pycache__
,然后重试。
尝试重新安装apptools
:
pip install -U apptools