欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux python3 安装Mayavi

程序员文章站 2022-07-12 23:34:24
...

相关参考文章: https://blog.csdn.net/ouening/article/details/76995188


2018/06/09更新

在基于ubuntu18.04(代号binoic)的Linux Mint 19 BETA上安python版本的vtk,可以执行以下命令:

$ sudo apt install python-vtk6
$ sudo apt install python3-vtk7

相关包可以下下面网址查找,我就是在那里找到需要下载什么包的

https://packages.ubuntu.com/search?suite=default&section=all&arch=any&keywords=python3-vtk&searchon=names


2018/06/07更新
系统:linux mint 18.3
按照下面的方法安装,首先下载了最新版VTK8.1.1,选择了python版本为3,,但是最后打包的还是python2,存在按照下面的方法把lib下的链接库复制到vtk里面去,再把整个vtk复制到路径/usr/lib/python3/dist-packages/ 下面,进入python3终端import vtk 的时候出现下面错误:

ImportError: No module named 'vtkCommonCorePython'

因此8.1.1失败。
接着下载VTK7.1.1版本的进行编译,这次就可以了,根据之前的一次更新,我也提前先下载源代码手动安装了tcl/tk,注意要先安装tcl,再安装tk,这点在源代码的README文件里有写。
CMAKE-GUI的最后配置如下:
Linux python3 安装Mayavi

vtk7.1.1最终编译完成后,不想手动文件那么麻烦,在终端执行了

sudo make install

发现默认安装到了路径/usr/local/lib/python3.5/site-packages/ 下面,如下图:
Linux python3 安装Mayavi
并且不知道什么原因识别不了这个路径,应该可以添加识别路径的,不过我直接复制到原来那个路径/usr/lib/python3/dist-packages/ 下面了


2017/11/27 update
使用新系统重新按照下面的方法安装Vtk,安装后在python里面导入vtk的时候出现了如下错误:

ImportError: No module named vtkCommonPython

网上查了一下没有具体的解决办法,有人说编译的时候和tcl/tk环境有关,于是我就去tcl官网下载了tcl和tk的源码并且编译安装,然后在CMAKE选项中把tcl相关选项选上,重新操作一遍就可以了。


测试环境:Linux Mint KDE 18.2 64bit

讨论linux安装mayavi之前,先顺便提一下windows下安装mayavi的方法

在windows下安装Python包非常简单,到下面网站下载.whl格式的安装包

http://www.lfd.uci.edu/~gohlke/pythonlibs/

然后

pip install path_of_your_package

上述网站提供多个python版本的安装包,如下图,需要先安装VTK
Linux python3 安装Mayavi

linux下python2.7安装mayavi

以debian/ubuntu系为例,在终端执行下列命令

apt-get install python-dev
apt-get install python-vtk
pip install mayavi

python2.7的VTK环境可以用apt-get install安装,mayavi三维绘图包可以用pip安装,如果使用pip安装的时候遇到一些错误提示请自行搜索解决,我自己遇到的就是一些依赖库不齐全的问题

linux下python3安装mayavi

python3直接使用

pip3 install mayavi

安装mayavi是会提示没有vtk这个module的,而且无法通过apt安装python3环境的VTK,当然,VTK在PyPi里面也没有,也就是无法用pip安装,通过网上查阅,VTK7以上支持python3.X,需要自己编译,网上找了好多都没有相关介绍,只好自己尝试,而且成功了,下面记录一下过程.

(1) 首先安装一下python3的安装环境,在终端执行

apt-get install python3-dev

(2)参考下面的链接,编译VTK

http://www.linuxidc.com/Linux/2017-01/139459.htm

连接的文章中提到需要安装QT5,实际并不需要,如果需要使用QT开发的也可一并下载安装,而且上文中有些包安装的时候是提示找不到的,将相应的包删除不安装即可,因为我自己实践的是要python3使用VTK,所以cmake的时候要选择VTK_WRAP_PYTHON,并将python版本设为3,下面记录详细的安装配置过程.

(3)去VTK官网下载最新的源代码VTK-8.0.0.tar.gz或者VTK-8.0.0.zip

http://www.vtk.org/download/

可以用wget下载,下载完成后解压出来

(4)打开cmake GUI界面,选择源代码目录和需要构建二进制文件的目录,同时我将构建类型BUILD_TYPE设置为Release,将CMAKE的安装路径设为同需要构建的目录相同,这个可以修改的
配置如下:
Linux python3 安装Mayavi
注意上图是先configure之后再做如上修改的

(5)设置VTK_WRAP_PYTHON和python版本
配置如下
Linux python3 安装Mayavi
配置完之后选择generate生成

(6)终端进入到VTK_Build目录,执行下列命令进行编译

make

然后就是长达几个小时的编译…,反正我自己的编译了两三个小时

(7)编译完成后,我并没有执行make install 进行安装,因为我已经有编译好的文件了,等下就要复制到python3的dist_packages目录下.
进入到VTK_Build文件目录,如下图,
Linux python3 安装Mayavi
注意lib和Wrapping这两个文件夹,lib里面有cmake这个文件夹和编译出来的动态链接库,Wrapping文件夹有Python,PythonCore和Tools三个文件夹,进入Python文件夹,里面有vtk这个文件夹,最终要的就是这个

(8) 将lib文件夹下的所以链接库(除了cmake文件夹)复制到vtk文件夹里面,如图
Linux python3 安装Mayavi

(9) 将vtk文件夹复制到

/usr/lib/python3/dist_packages

(10) 此时运行

pip3 install mayavi

便可成功安装

后记

我为什么知道这样做就可以?

我是从python2.7的版本推导出来的,既然python2.7能安装vtk,我就找到了python2.7下vtk的安装路径,如下图:
Linux python3 安装Mayavi
看到路径下有动态链接库和py文件,如法炮制,就将编译出来的动态链接库复制到生成的vtk文件夹下,然后将整个vtk文件夹复制到python3的dist_packages路径下,linux mint18.2的python3版本是3.5,按照2.7的惯例应该在/usr/lib/python3.5路径下,但是没有找到,是在/usr/lib/python3路径下找到的,而且发现里面按照的模块就是之前刚安装的,也就是使用pip3 install your_module安装的模块也在此路径下,那么就判断将vtk文件夹复制到

/usr/lib/python3/dist_packages

下是正确的,复制完vtk文件夹后可以打开python3导入vtk看看有没有错误,我自己通过此方法是没问题的,安装完vtk后再安装mayavi就没什么问题了

在linux终端执行

python3 -m qtconsole

打开ipython的qt界面,在mayavi官方文档上复制实例代码到ipython执行,可以正常执行

# Create the data.
from numpy import pi, sin, cos, mgrid
dphi, dtheta = pi/250.0, pi/250.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.
from mayavi import mlab
s = mlab.mesh(x, y, z)
mlab.show()

Linux python3 安装Mayavi


2017/7/25更新

(1) CMAKE_PREFIX可以不用修改,默认为/usr/local

(2)按照之前的方法make之后,执行

make install

即可安装,默认安装在如下图路径
Linux python3 安装Mayavi

(3) 执行make 的时候添加参数j,例如下

make -j8

表示开8个线程进行编译,明显加快速度


2018/01/04更新
在Linux mint18.3 xfce重新编译安装VTK8.0的时候,使用make & make install安装还是提示无法导入vtk模块,用前面的方法将编译生成的lib里面的文件和vtk一并复制到

/usr/lib/python3/dist_packages