Python3 安装 VTK 和 MayaVi 的一种姿势

Python3 安装 VTK 和 MayaVi 的一种姿势

本文基于我之前的一个回答:CycleUser:anaconda上能否安装VTK? 友情提示:由于使用到了 conda,所以如果不指定使用国内 ustc 或者tuna 的 anaconda 源,就可能需要科学的上网姿势才能安装成功。但请不要问我如何使用科学的姿势,因为我不具备这方面的知识。


思路简介

在 Python 上面安装配置 VTK 和 MayaVi,可能对于新手来说,是一个比较痛苦的经历。

我今天正好探索 SfePy,发现似乎是要用到 VTK 和 MayaVi ,而刚刚用 pyenv 新建的 3.6.3的环境是没有安装这两个的。直接用 pip install mayavi 会提示缺少 VTK 而报错,我在 macOS 下用 brew install vtk 和 brew link vtk 之后并没有见到效果,所以就想到了用 conda 安装 vtk,然后再用 pip 安装 mayavi 的思路。

这次的场景和我在 Anaconda 上安装 VTK 的回答 还有所不同,因为原本安装的并不是 Anaconda,而就是常规的普通 Python 3.6.3。

当然,这对于万事能凑活就先对付为人生哲学的我来说,不算太大的难事,因为咱们完全可以用下面这个方案来实现:

  1. 用 pip 来给已有的 Python 3.6.3 安装一个 conda;
  2. 然后用这个 conda 再去安装 VTK;
  3. 接下来安装好了 VTK 之后再用 pip 安装 MayaVi;
  4. 然后再用 conda 安装 SfePy。

我实际按照这个思路操作了一遍,在 Python 3.5.4 和 3.6.3 上都成功了,当然这两者稍有一点差别,就是在使用 conda 安装 VTK 的时候要指定使用不同的 channel,对于3.5.4,要用 menpo,对于 3.6.3 ,要用 clinicalgraphics,这一点就和我在 Anaconda 上安装 VTK 的回答 中写的情况类似了。


1 用 pip 安装 conda

有经验的朋友可能看了上面的 1234 之后就知道该怎么做了,甚至自己完全还有更好的思路能够分享出来。然而本专栏定位是从入门开始的学习者,所以我觉得有必要把这部分详细列出来介绍一下。

(这里假设你已经安装好了 pip,如果这部分有问题,请去搜索,相信这点问题难不住有探索精神的学习者。我这里用的 pip3 而不是 pip,是为了区分我同时安装的 Python2 所用的 pip 和 Python3 所用的 pip3,建议新人们只安装 Python3 就好了。如果下面的代码中使用 pip3 不成,你替换成 pip 试试又不会得病。)

首先,我们用 PIP 来安装 conda。

pip3 install conda

这一步骤中如果有出错提示,可能是一些 conda 必备的依赖包没有安装。可能为 ruamel.yaml, pycosat, idna, certifi, chardet, urllib3, requests 这几个。

可以尝试一起装:

pip3 install ruamel.yaml pycosat idna certifi chardet urllib3 requests conda

这好办,如果一下安装报上面这些包的错,那就一个个用 pip 来安装了就可以了,不再赘述。

2 用 conda 安装 VTK

这里就是到了一个稍微关键一点的地方,3.5 要用 menpo,3.6要用 clinicalgraphics。

另外,由于咱们是在 Python 中使用 pip 安装的 conda,而不是一开始安装的 miniconda 或者 anaconda,所以不能直接使用 conda 命令,而是要当作一个 python 模块来用,所以下面的几个命令里面,都加上了 python3 -m,这也是和我在 Anaconda 上安装 VTK 的回答 很不一样的,新手可能会对此不太注意,从而导致安装错误,所以一定仔细阅读哦。

适用于3.5:

python3 -m conda install -c menpo vtk=7   

适用于3.6:

python3 -m conda install -c clinicalgraphics vtk=7.1.0 

关于版本的指定上,建议你也按照下面的来,避免自己走弯路,我虽然不算老司机,但这些代码都好歹是安装成功过的。我当然知道 VTK 官方版本最新的 Release 已经 8.01 了,但是我自己没弄成功,就没办法来分享安装最新版的成功经验了。

3 安装好了 VTK 之后再用 pip 安装 MayaVi

刚这一步安装好了 VTK 之后,就可以用 pip 来安装 MayaVi 了。

pip3 install mayavi

4 再用 conda 安装 SfePy

我安装 MayaVi 是为了 安装 SfePy,所以上面的弄妥了之后自然直接安装了:

python3 -m conda install -c conda-forge sfepy

当然了,每一步安装完成之后,都建议你测试一下是否安装成功,在 Bash 或者 CMD 等终端内运行

python3 -c "import vtk"         #这是测试 VTK 
python3 -c "import mayavi"      #这是测试 MayaVi 
python3 -c "import sfepy"       #这是测试 sfepy

如果没什么问题,就不会有报错什么的。另外注意是在终端内运行,不是在 Python 解释器里面。这几个命令实际上就是让 Python3 来导入这几个模块,来看看是不是报错,没报错就一般都是安装完毕没问题咯。

其实 conda 还有个好处,就是可以用来升级已经安装的模块,可以在终端内输入如下命令来实现:

python3 -m conda update --all

跟直接使用 Anaconda 相比,也就是多加了前缀 python3 -m 而已。

这一期就是这样,希望新手朋友们看了之后能够大概弄清楚如何安装 VTK 和 MayaVi。

Category
Tagcloud
Python Mount&Blade MayaVi Scholar Lens Library Linux QT Data Visualization Poem Hack RaspberryPi NAS Xcode IDE Geology VirtualBox Raspbian Chat Game GlumPy Photo Hate Camera Disease Video University ChromeBook RTL-SDR Microscope Programming Hardware Radio Memory Junck Conda VisPy Software Science Communicate Translation Pyenv Server Kivy Book Telescope Download CUDA Story Discuss Hackintosh DIY Moon Lesson Mac VTK GeoPython