2、安装与环境配置:Linux/Windows/macOS 安装方法、依赖库(OpenBabel、Boost)处理、环境变量设置

说实话,我第一次折腾 AutoDock Vina 的时候,光装环境就折腾了大半天。在不同的系统上踩过的坑,加起来能写个小册子。后来我把这些经验慢慢梳理成一套相对稳定的流程,今天分享给你。

为什么要把安装配置单独拿出来?说白了,Vina 本身虽然是个轻量级工具,但它依赖的库(尤其是 Boost 和 OpenBabel)版本兼容性很容易出问题。你想想,要是编译到一半报个“undefined reference”,查半天才发现是 Boost 版本不对,多耽误时间。

下面我会按三个主流操作系统分别讲。我个人习惯是:能安安静静下个二进制文件就跑,绝不编译;但遇到平台差异或定制需求时,编译又是绕不开的选择。

2.1 Linux 下的安装

Linux 是我用得最多的环境,也是 Vina 最原生的运行平台。这里有两条路:包管理器安装,或者源码编译。

2.1.1 包管理器安装(推荐给初学者)

Ubuntu/Debian 用户直接敲:

sudo apt update
sudo apt install autodock-vina

Fedora/RHEL 用 dnf:

sudo dnf install autodock-vina

但要注意,官方源里的版本可能比较老。比如我去年在 Ubuntu 20.04 上装,拿到的还是 v1.1.2,而 v1.2.x 已经加上了半柔性对接和显式水分子支持。如果对版本有要求,建议走编译。

2.1.2 源码编译(稳定且灵活)

我从 GitHub 官方仓库克隆代码:

git clone https://github.com/ccsb-scripps/AutoDock-Vina.git
cd AutoDock-Vina/build
cmake -B build -DCMAKE_BUILD_TYPE=Release -DOPENBABEL_INCLUDE_DIR=/usr/include/openbabel3
cmake --build build -j$(nproc)

这里——我有一次在 CentOS 7 上编译,忘了指定 OpenBabel 路径,结果 CMake 自动跑到系统里找了个不完整版本,编译报错。所以我建议你在 CMake 命令里把依赖路径写清楚。

2.2 Windows 下的安装

Windows 用户有两种主流选择:直接下预编译的 .exe,或者用 WSL 里跑 Linux 版本。

2.2.1 预编译二进制(最省事)

去 AutoDock Vina 的 GitHub Release 页,下载 vina_1.2.5_win64.exe(版本号可能会变)。我一般把它放到 C:\Program Files\AutoDockVina\ 里,然后加到 PATH 环境变量。

但你也要注意:Windows 版本是控制台程序,双击不会打开窗口。得在 cmd 或 PowerShell 里敲命令。

vina --help

如果提示“系统找不到指定的文件”,八成是 PATH 没配好,或者文件权限不对。

2.2.2 通过 WSL 运行(我个人更喜欢的方式)

WSL 里装 Ubuntu,然后完全按 Linux 的流程走。好处是后续对接脚本、OpenBabel 的工具链都能无缝配合。我自己的实验环境就用的 WSL 2 + Ubuntu 22.04。

2.3 macOS 下的安装

macOS 用户最方便的是 Homebrew:

brew install autodock-vina

Homebrew 会自动把依赖(包括 Boost)装好,省心。我自己在 macOS 上几乎只用这个方式。

不过,如果你需要修改源代码(比如调优算法参数),还是得用编译方式。Xcode Command Line Tools 是前提:

xcode-select --install

然后同样 clone 仓库、cmake 编译。macOS 上的 Boost 如果通过 Homebrew 安装,路径通常是 /opt/homebrew/include(Apple Silicon)或 /usr/local/include(Intel)。

小提示:在 M1/M2 Mac 上,Boost 的编译有时会卡在 64 位对齐上。我遇到过,解决办法是确保 CMake 使用 -DCMAKE_OSX_ARCHITECTURES=arm64。

2.4 依赖库处理:OpenBabel 与 Boost

这两个库是 Vina 的两大支柱。OpenBabel 负责分子格式转换,Boost 提供底层容器和算法支持。

OpenBabel —— 我用得最多的是 obabel 命令行工具。装法因系统而异:

  • Ubuntu: sudo apt install openbabel
  • macOS: brew install open-babel
  • Windows: 下载预编译二进制或通过 conda 安装:conda install -c openbabel openbabel

Boost —— Vina 对 Boost 版本要求比较宽容。但如果你直接编译,记得把 Boost 相关的 CMake 变量传进去。我习惯这么干:

cmake -B build \
  -DCMAKE_BUILD_TYPE=Release \
  -DBoost_INCLUDE_DIR=/usr/include \
  -DBoost_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \
  -DOPENBABEL3_INCLUDE_DIR=/usr/include/openbabel3
警告:如果你用系统自带 Boost(比如 Ubuntu 的 libboost-all-dev),注意版本不低于 1.71。我曾踩过 1.65 的坑,Vina 1.2.5 编译不过。建议先用 dpkg -l | grep libboost 查一下版本。

2.5 环境变量设置

不管你用哪种方式安装,最终目的是在终端里能直接敲 vina 运行。环境变量需要配对。

Linux/macOS:把 Vina 的二进制所在目录加到 PATH。我在 ~/.bashrc 或 ~/.zshrc 里写:

export PATH=$PATH:/path/to/autodock-vina/build/bin

如果你同时装了 OpenBabel,也建议加一下:

export PATH=$PATH:/usr/local/bin

Windows:在系统环境变量 PATH 里添加 Vina 目录,比如 C:\Program Files\AutoDockVina\。改完后要在新 cmd 窗口生效。

我还习惯设置一个 VINA_ROOT 变量,方便脚本引用:

export VINA_ROOT=/home/user/autodock-vina
验证安装是否成功:在终端运行 vina --version。如果输出类似 “AutoDock Vina 1.2.5”,说明环境配置好了。

2.6 不同平台安装方案速查表

操作系统推荐方式需手动处理依赖?我的个人评价
Ubuntu 20.04+apt 安装否,自动解决最省心,但版本可能老
CentOS 7/8源码编译是,需手动装 Boost 和 OpenBabel踩坑较多,建议升级到 RHEL 8+
Windows 10/11预编译 .exe否,二进制自带依赖简单,但命令行不友好
Windows (WSL2)Linux 子系统中 apt/编译同 Linux我推荐这种方式,灵活性高
macOS (Intel/Apple Silicon)Homebrew否,brew 处理依赖做教学演示最合适

2.7 安装配置整体流程

下面这张图把整个流程串了起来。从选择系统开始,到依赖安装、主程序安装、环境变量、最终验证。你会发现,不管走哪条路,核心节点都一样。

安装与环境配置流程 选择操作系统 Linux / Windows / macOS 安装依赖库 Boost ≥ 1.71 + OpenBabel3 包管理器 / 预编译 源码编译 二进制安装 apt / brew / .exe(推荐) 编译安装 cmake + make 设置 PATH / VINA_ROOT 配环境变量 vina --version 验证
经验之谈:你是初学者的话,我的建议是 Linux 下用 apt,macOS 下用 brew,Windows 下用 WSL2。等把基础跑通了,再回头折腾编译。别一上来就“我要编译全部”——那样容易劝退。