python3.6.0+win10+anaconda3-4.3.1安装mayavi

终于解决了python3中安装mayavi的各种问题。

之前安装的是python3.5.2是在anaconda3-4.2.0一起安装的,后来发现安装mayavi会出现各种问题,在改了vtk的qt接口函数后,将就可以用了,但是还是很不满意,所以决定重新安装。

真是绕了很大的弯,请后来人注意。

说白了就是各个包的版本不兼容问题,这个是最好的搭配

VTK-7.1.1-cp36-cp36m-win_amd64.whl
numpy-1.12.1+mkl-cp36-cp36m-win_amd64.whl
traits-4.6.0-cp36-cp36m-win_amd64.whl
mayavi-4.5.0+vtk71-cp36-cp36m-win_amd64.whl

PyQt4-4.11.4-cp36-cp36m-win_amd64.whl

但是我没有找到numpy-1.12.1+mkl-cp36-cp36m-win_amd64.whl,只能拿

numpy-1.14.5+mkl-cp36-cp36m-win_amd64.whl凑合用了。

一定的按照循序安装

安装包链接会放在后面。

我主要说一下anaconda,其实这个集成式的安装挺好,但是也就造成了mayavi安装时候的各种错误

上面的安装包,当你安装完anaconda后添加anaconda进环境变量,然后就可以进行pip安装,不再赘述。

下面说重点,就是安装前,先输入

conda list
看看哪些安装包有冲突。我发现我的numpy和pyqt有冲突,要用
conda uninstall pyqt
conda uninstall numpy

进行卸载,可能卸载的时候会把其他包卸载了,也管不了那么多了。。

如果不事先卸载,mayavi调用的是anaconda自带的numpy,会报错。

pyqt的存在会直接导致让你安装PySide,而这个玩意儿python3.5以上包括3.5根本用不了。。

所以遇到这样的问题的,可以这样试试,反正我还没试,估计可行。

链接:mayavi包

安装好后测试vtk

from tvtk.api import tvtk
s = tvtk.CubeSource(x_length=1.0, y_length=2.0, z_length=3.0)
print(s)

输出

vtkCubeSource (0000022EC916A190)
  Debug: Off
  Modified Time: 98
  Reference Count: 2
  Registered Events:
    Registered Observers:
      vtkObserver (0000022ECC9581F0)
        Event: 33
        EventName: ModifiedEvent
        Command: 0000022ECC82FB20
        Priority: 0
        Tag: 1
  Executive: 0000022ECC9C85C0
  ErrorCode: No error
  Information: 0000022ECC84EF90
  AbortExecute: Off
  Progress: 0
  Progress Text: (None)
  X Length: 1
  Y Length: 2
  Z Length: 3
  Center: (0, 0, 0)
  Output Points Precision: 0

测试mayavi

from numpy import *
from mayavi import mlab

# Create the data.
dphi, dtheta = pi/20.0, pi/20.0
[phi,theta] = mgrid[0:pi+dphi*1.5:dphi,0:2*pi+dtheta*1.5:dtheta]
m0 = 4; m1 = 3; m2 = 2; m3 = 3; m4 = 6; m5 = 2; m6 = 6; m7 = 4;
r = sin(m0*phi)**m1 + cos(m2*phi)**m3 + sin(m4*theta)**m5 + cos(m6*theta)**m7
x = r*sin(phi)*cos(theta)
y = r*cos(phi)
z = r*sin(phi)*sin(theta)

# View it.
s = mlab.mesh(x, y, z, representation="wireframe", line_width=1.0 )
mlab.show()

结果


结束

猜你喜欢

转载自blog.csdn.net/baidu_36669549/article/details/80977789