安装

XGrammar Python 包可以直接从预构建的开发包安装,或者从源代码构建。

选项 1:预构建包

通过 pip 提供 XGrammar 的 nightly 预构建包。

备注

❗ 每当使用 Python 时,强烈建议使用 conda 来管理独立的 Python 环境,以避免缺少依赖、版本不兼容和包冲突的问题。请确保您的 conda 环境中已安装 Python 和 pip。

conda activate your-environment
python -m pip install xgrammar

然后您可以在命令行中验证安装:

python -c "import xgrammar; print(xgrammar)"
# Prints out: <module 'xgrammar' from '/path-to-env/lib/python3.11/site-packages/xgrammar/__init__.py'>

CUDA 依赖

当使用 NVIDIA GPU 时,请同时安装这些额外的依赖项以启用 CUDA 支持来应用位掩码:

python -m pip install cuda-python nvidia-cuda-nvrtc-cu12

选项 2:从源代码构建

还提供了从源代码构建 XGrammar 的选项。当您希望进行修改或获取特定版本的 XGrammar 时,此步骤非常有用。

步骤 1:设置构建依赖项。 要从源代码构建,您需要确保满足以下构建依赖项:

  • CMake >= 3.18

  • Git

# make sure to start with a fresh environment
conda env remove -n xgrammar-venv
# create the conda environment with build dependency
conda create -n xgrammar-venv -c conda-forge \
    "cmake>=3.18" \
    git \
    python=3.11
# enter the build environment
conda activate xgrammar-venv
# install Python dependency
python3 -m pip install ninja pybind11 torch

步骤 2:配置、构建和安装。 建议使用基于 git 的标准工作流程来下载 XGrammar。

# 1. clone from GitHub
git clone --recursive https://github.com/mlc-ai/xgrammar.git && cd xgrammar
# 2. Install pre-commit hooks
pre-commit install
# 3. build XGrammar core and Python bindings
mkdir build && cd build
cmake .. -G Ninja
ninja
# 4. install the Python package
cd ../python
python3 -m pip install .
# 5. (optional) add the python directory to PATH
echo "export PATH=\"$(pwd):\$PATH\"" >> ~/.bashrc

步骤 3:验证安装。 您可以在命令行中验证 XGrammar 是否成功编译。您应该会看到用于从源代码构建的路径:

python -c "import xgrammar; print(xgrammar)"