Mayavi的安装真的是不友好啊,虽然三维图确实要比matplotlib要快,要漂亮,但是整个安装过程确花了我三天时间。为了让遇到同样问题的人少走弯路,我把我安装过程中遇到的问题记录下来。
—Author=Jimmy Cao
首先用pip3 安装mayavi(命令为pip3 install mayavi),这里有一个问题需要注意,由于mac上默认安装了python2.7,但我主要用python3.7版本,安装python3.7时会默认安装一个对应的包管理器,在命令行中对应着pip3。所以我们安装的mayavi包就得利用这个命令。
安装过程中会提示,没有mayavi需要的vtk版本,这里由于用的python3.7,没有一个打包好的vtk软件进行一键安装,需要自己下源码编译安装,下面为vtk源码安装过程
- 从vtk官网下载vtk源码,这里我下载的是最新版的vtk 8.1.1,并且从cmake官网下载cmake软件
- 利用cmake对vtk源码编译,cmake是有图形界面的,比较简单。编译过程中先要选中源代码文件夹,然后在选中需要build到的文件夹,最好新建一个,以防污染源代码
- 然后单击configure按钮,第一次单击这个按钮时会要选择一个configure到一个目标环境,由于mac里自带make编译环境,我选的Unix make,windows的话可以去网上搜搜利用visual studio安装的教程,第一次configure完会出错,界面是红色的,这时勾选上vtk_wrap_python,并且设置python版本vtk_python_version为3.7,再次configure,知道错误消失,这个时候可以单击generate按钮生成可以用unix make编译的源代码
- 在编译前,“注意”由于python3.7中的更新导致,源码的vtk8.1.1的vtk8.1.1/Wrapping/PythonCore目录下的vtkPythonArgs.cxx文件的105行的代码会出现bug。将源码
a=PyUnicode_AsUTF8(o)改为a=const_cast<char*>(PyUnicode_AsUTF8(o))(这里具体的原因是python3.7里更新将PyUnicode_AsUTF8函数的返回值改为了const char *,加入const_cast<char*>将返回值改为char*修复bug之后就可以编译)。修复bug后,到对应的build到的目标目录里用命令行执行make编译,然后再执行make install进行安装,安装完别急着关闭,记录下对应的vtk python包的目录,后面要对这个python包进行操作。
参考了https://www.vtk.org/Wiki/VTK/Building
vtk 安装成功后仍然不能安装mayavi 因为这个vtk并没有添加到pip里面。虽然我将之前说到的那个python包拷贝到我的python3.7的包文件夹(我的是/Libaray/Frameworks/python.framework/versions/3.7/lib/python3.7/site-package)里后,能正常使用vtk并且可以进行vtk编程,但是pip3并不能直接识别我们自己拷贝过来的包。还是不能顺利安装mayavi。
我通过自己建立的vtk包,将vtk安装成功后的python vtk包找到,也就是之前就让大家注意的那个文件夹。拷贝到一个vtk文件夹里,然后在自己创建的文件夹里添加一个setup.py,写入
from setuptools import setup
setup(name='vtk',
version='0.1',
description='myvtk',
author='Jimmy',
author_email='caojin0405@qq.com',
license='JC',
packages=['vtk','vtk/gtk','vtk/numpy_interface','vtk/qt','vtk/qt4','vtk/test','vtk/tk','vtk/util','vtk/wx'],
zip_safe=False)
然后命令行到setup.py目录下 pip3 install .注意install后面的“.” 要不然成功不了。
安装完后还是不能正常安装由于我们自己的包里没有连接库,也就是.o文件,将.o文件全部拷贝到
/Libaray/Frameworks/python.framework/versions/3.7/lib/python3.7/site-package下的vtk文件夹里,到这里就能正常安装mayavi包了。
有什么问题的话欢迎大家评论留言。
Macbook Python3.7 安装 Mayavi 教程与常见问题
本文详细记录了在Macbook上使用Python3.7安装Mayavi的过程中遇到的问题及解决步骤,包括VTK的源码编译安装、Python环境的适配以及如何处理安装Mayavi时的库文件缺失问题。
240

被折叠的 条评论
为什么被折叠?



