mayavi安装
Mayavi是python的一个包,提供方便的可视化方案。目前(20150809)Mayavi还没有py3的支持,以下安装环境在python 2.7.10下进行
安装Mayavi:
1. 通过pip install mayavi自动检测并且安装大部分的依赖包:
apptools、traits、traitsui、configobj、pyface、six
如果速度太慢可以参见之前随笔更改pip源为豆瓣源:pip install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
2. 此时安装Mayavi仍然报错:ImportError: No module named vtk
需要安装vtk支持:
apt-get install vtk6
ubuntu 下使用apt-get 可以直接安装vtk,可能需要安装的依赖会比较多,需要花费较长时间,可参考之前随笔更改ubuntu源为阿里源:http://www.cnblogs.com/lyon2014/p/4715379.html
安装python-vtk:
apt-get install python-vtk
3. 此时,如果你用的python就是系统的python,应该就有了vtk模块,测试:
python -c 'import vtk'
没有报错就已经成功了。到这里就可以直接跳过3、4两步。
但是如果你和我一样用的是自己安装的python,或者用pyenv管理python版本,此时仍然找不到vtk模块,直到执行pyenv global system切换回系统python才能找到vtk模块
4. 安装vtk模块
vtk官网死活打不开,重新安装vtk遇到困难,但是没关系,还有另外的解决方案:将系统安装的vtk添加到自己的python中
首先找到系统安装的python-vtk路径,如ubuntu下,apt-get会默认安装在/usr/share/pyshared/以及相应编译的库包安装在:/usr/lib/pyshared/python2.7/vtk中,通过查看/usr/share/python-support/python-vtk.public文件可以看到相关信息
第一种方案是将这两个目录添加到PYTHONPATH环境变量中,个人比较反感污染PYTHONPATH变量,这会导致使用其他版本python的时候难以控制;
第二种方案是将/usr/share/pyshared/vtk 链接到当前python的lib目录下,并且把/usr/lib/pyshared/python2.7/vtk中的内容也链接过来:
cd ~/.pyenv/versions/2.7./lib/python2./site-packages
mkdir vtk
ln -s /usr/share/pyshared/vtk/* ./
ln -s /usr/lib/pyshared/python2.7/vtk/* ./
5. 更改python的unicode支持(建议先看完第6点再操作)
如果你和我一样使用pyenv,则默认编译安装的python支持的unicode是ucs2的,此时:
python -c 'import vtk'
则会报错:ImportError: /usr/lib/libvtkPythonCore.so.5.8: undefined symbol: _PyUnicodeUCS4_AsDefaultEncodedString
需要重新编译,使其支持UCS4
首先重新下载python:pyenv install -k 2.7.10
等待下载完成,开始安装的时候,取消,然后进入下载目录:
cd ~/.pyenv/sources/2.7.10
tar zxvf Python-2.7.10.tgz
cd Python-2.7.10/
./configure --prefix=/home/vagrant/.pyenv/versions/2.7.10 --enable-unicode=ucs4
上面prefix目录填你的pyenv对应的版本安装目录,使用绝对路径,一般来说是: /home/用户名/.pyenv/versions/版本号,只有配置为这个目录才能使pyenv调用的python为这次编译安装的python;如果你没有用pyenv,忽略此条;
make && make install
等待安装完成
测试:python -c 'import vtk'
没有报错,安装成功
6. 注意:一旦你完成第五步,意味着之前安装的包如果使用了ucs2编码,则会找不到关于ucs2的内容(比如numpy),这个时候需要卸载重装相应的包,所以关于unicode是很坑的一个地方,需要检查并且重新编译各种包,比较好的办法是,不要去更改原来的python,使用pyenv新安装一个python,并且编译支持ucs4,之后将可能用到的包一一安装;
7. 当你搞定所有的问题之后,终于可以安装mayavi了:
pip install mayavi
大功告成
出于学习的需要,会学习mayavi,但是我是一万个不情愿使用更新滞后的包的,在其支持py3之前应该不会使用,可能会被其他包替代吧。
继:
如果使用mayavi的话,最好还是切换到系统python,否则会有很多的依赖问题;
安装好mayavi之后,如果需要使用,则需要安装enthghout公司的其他包:VTK, appinst, apptools, envisage, traitsui, traits, pyface, configobj
这些包都可以通过pip快速安装,安装好之后,还需要依赖的界面工具,可以是wxPython或者是PyQT中的一种,否则无法成功使用traits包;
以PyQT为例,在安装PyQT之前,首先确认QT已经成功安装,然后再安装PyQT,这里比较郁闷的是pip上的pyqt好像都装不了,使用homebrew安装pyqt时发现依赖sip
mayavi安装的更多相关文章
- 【VTK】VTK 之一 环境准备
VTK总结 http://blog.sina.com.cn/s/articlelist_2216172153_3_1.html VTK教程http://blog.csdn.net/www_doling ...
- Python_14-绘图
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- 安装mayavi和VTK库的血泪史
一开始安装VTK库是从官网上下载,但是怎么都找不到whl文件,只有exe文件(vtkpython-7.1.1-Windows-64bit.exe).下载安装之后再PyCharm中import vtk出 ...
- 细数用anaconda安装mayavi时出现的各种问题
这段时间需要利用mayavi做科学数据的处理,因此需要利用到mayavi库,但是官网上面的指示说:如果安装了anaconda,其中自带各种科学库,但是实践中,并没有发现mayavi. 官方网站导航:m ...
- 科学计算三维可视化---Mayavi入门(Mayavi介绍和安装)
Mayavi介绍 是基于VTK开发的可视化软件(更加高效),Mayavi完全由python编写,方便使用,而且可以使用python编写扩展,嵌入到用户程序中 安装要求 VTK >pip3 ins ...
- Pip,pywin32,whl文件下载网址,mayavi安装包,PyQt5安装,PyMuPDF安装等注意事项
(1)pip安装的包不一定是用户想要的位置,此时可以用 -t 选项来指定位置. 例如目标位置是/usr/local/lib/python2.7/site-packages/ ,要安装xlrd 这个包 ...
- 安装PyQt5之后mayavi和VTK不能使用
mayavi在显示数据的过程中需要调用PyQt4的GUI方法产生应用框架.但是新发布的PyQt5和PyQt4在很多方面都是不兼容的,这也就导致了用mayavi编写的程序运行失败.在实践之后,我的解决方 ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- pythonxy 安装
安装Numpy,发现错误: No module named msvccompiler in numpy.distutils; trying from distutils 目前python除了在 Win ...
随机推荐
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十六节--SignalR与ABP框架Abp.Web.SignalR及扩展
SignalR简介 SignalR是什么? ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指 ...
- 代码管理 ,git 命令整理
//先要理解这四个概念,这是一个提交代码的流动轨迹:1.工作区(编辑器)-经过add到2- 2.暂存区 (缓存)- 经过commit3-3.本地仓库 (本地项目)-经过 push4-4.远程仓库 (线 ...
- java8版本base64加密解密
首先,先是加密,这里我使用了base64类 try { String asB64 = Base64.getEncoder().encodeToString("http://www.baidu ...
- 最短路算法之Dijkstra算法通俗解释
Dijkstra算法 说明:求解从起点到任意点的最短距离,注意该算法应用于没有负边的图. 来,看图. 用邻接矩阵表示 int[][] m = { {0, 0, 0, 0, 0, 0}, {0, 0, ...
- POJ 1849 Two(树的直径--树形DP)(好题)
大致题意:在某个点派出两个点去遍历全部的边,花费为边的权值,求最少的花费 思路:这题关键好在这个模型和最长路模型之间的转换.能够转换得到,全部边遍历了两遍的总花费减去最长路的花费就是本题的答案,要思考 ...
- ITM事件直接接收并解析
之前在实施一个监控项目时.客户由于买了IBM的小机.当前就赠送了TIVOLI的系统监控软件一套,客户也在他们的生产环境中部署了ITM的监控.由于没有购买IBM的netcool,无法集中管理告警事件,请 ...
- java多线程编程核心技术——第五章总结
定时器Timer的使用 1.1方法schedule(TimerTask task, Date time)的测试 1.2方法schedule(TimerTask task, Date firstTime ...
- VirtualBox 安装 Ubuntu 14.04 无法调节分辨率问题
基础环境 宿主系统:Windows 10 虚拟机系统:Ubuntu 14.04-32bit.Ubuntu 14.04-64bit VirtualBox:5.2.0 r118431 (Qt5.6.2) ...
- centos6.5 yum update 报错Couldn't resolve host 'centos.ustc.edu.cn'
异常信息 [root@localhost ~]# yum -y update Loaded plugins: fastestmirror, refresh-packagekit, security S ...
- 《程序设计语言——实践之路(英文第三版)》【PDF】下载
<程序设计语言--实践之路(英文第三版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382234 内容简介 <程序设计语 ...