Ubuntu 编译安装 VTK
遇到的问题
VTK 是一个著名的开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化,与 Python 兼容性非常好。
一般情况下(比如 amd64 架构的的 Windows、macOS、Linux 系统,甚至 arm64 架构的macOS系统)可以直接使用 pip 安装:
pip3 install vtk
可是对于 arm 架构的 Ubuntu 系统来说,直接安装会有 ERROR: No matching distribution found for vtk
的报错。

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

于是编译安装似乎是在 arm64 架构 Linux 中安装 VTK 的唯一方案。
安装细节可以参考 官方文档。
安装依赖
要编译安装 VTK 我们需要安装一些依赖:
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 的下载页 获取最新版本,或者这么着:
sudo apt-get install cmake cmake-gui
这些说明使用的是系统的 Python。如果你使用其他的 Python 或虚拟环境,确保你使用的环境处于激活状态。
编译安装
首先,创建目录结构:
cd ~
mkdir -p ~/dev/{vtk/{src,build},my-tests}
cd ~/dev/vtk/
克隆代码库:
git clone --recursive https://gitlab.kitware.com/vtk/vtk.git src
编译安装:
cd ~/dev/vtk/build
cmake ../src -DVTK_WRAP_PYTHON=ON -GNinja
# Build using the generator specified in cmake.
cmake --build .
在 ~/.bashrc
中添加如下内容(注意 P YTHONPATH 中的 python 版本需要和编译后的文件夹一致,未来可能会更新):
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
source .bashrc
然后就可以正常使用 vtk 了~