0%

Ubuntu 编译安装 VTK

遇到的问题

VTK 是一个著名的开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化,与 Python 兼容性非常好。

一般情况下(比如 amd64 架构的的 Windows、macOS、Linux 系统,甚至 arm64 架构的macOS系统)可以直接使用 pip 安装:

1
pip3 install vtk

可是对于 arm 架构的 Ubuntu 系统来说,直接安装会有 ERROR: No matching distribution found for vtk 的报错。

甚至在 官网 都找不到支持 arm64 架构 Linux 系统的 wheel 包:

于是编译安装似乎是在 arm64 架构 Linux 中安装 VTK 的唯一方案。

安装细节可以参考 官方文档

安装依赖

要编译安装 VTK 我们需要安装一些依赖:

1
sudo apt install build-essential cmake mesa-common-dev mesa-utils freeglut3-dev python3-dev python3-venv git-core ninja-build

Python 工具包是可选的,如果你将来打算使用虚拟环境的话就很必要了。

我们将使用 ninja 来代替 make

至于 CMake,可以从 CMake 的下载页 获取最新版本,或者这么着:

1
sudo apt-get install cmake cmake-gui

这些说明使用的是系统的 Python。如果你使用其他的 Python 或虚拟环境,确保你使用的环境处于激活状态。

编译安装

首先,创建目录结构:

1
2
3
cd ~
mkdir -p ~/dev/{vtk/{src,build},my-tests}
cd ~/dev/vtk/

克隆代码库:

1
git clone --recursive https://gitlab.kitware.com/vtk/vtk.git src

编译安装:

1
2
3
4
cd ~/dev/vtk/build
cmake ../src -DVTK_WRAP_PYTHON=ON -GNinja
# Build using the generator specified in cmake.
cmake --build .

~/.bashrc 中添加如下内容(注意 P YTHONPATH 中的 python 版本需要和编译后的文件夹一致,未来可能会更新):

1
2
3
export VTK_DIR=$HOME/dev/vtk/build
export PYTHONPATH=~/dev/vtk/build/lib/python3.10/site-packages:$PYTHONPATH
alias vtkpython=~/dev/vtk/build/bin/vtkpython

执行 .bashrc

1
source .bashrc

然后就可以正常使用 vtk 了~