Linux python3 安装Mayavi

32 篇文章 1 订阅

相关参考文章: 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的最后配置如下:
这里写图片描述

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

sudo make install

发现默认安装到了路径/usr/local/lib/python3.5/site-packages/ 下面,如下图:
这里写图片描述
并且不知道什么原因识别不了这个路径,应该可以添加识别路径的,不过我直接复制到原来那个路径/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下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的安装路径设为同需要构建的目录相同,这个可以修改的
配置如下:
这里写图片描述
注意上图是先configure之后再做如上修改的

(5)设置VTK_WRAP_PYTHON和python版本
配置如下
这里写图片描述
配置完之后选择generate生成

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

make

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

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

(8) 将lib文件夹下的所以链接库(除了cmake文件夹)复制到vtk文件夹里面,如图
这里写图片描述

(9) 将vtk文件夹复制到

/usr/lib/python3/dist_packages

(10) 此时运行

pip3 install mayavi

便可成功安装

后记

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

我是从python2.7的版本推导出来的,既然python2.7能安装vtk,我就找到了python2.7下vtk的安装路径,如下图:
这里写图片描述
看到路径下有动态链接库和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()

这里写图片描述


2017/7/25更新

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

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

make install

即可安装,默认安装在如下图路径
这里写图片描述

(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

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值