安装

如果你要使用 Fluxon,通常会直接接触两类安装对象:

  • Fluxon 核心安装包:fluxon-*.whlfluxon_pyo3-*.whlpylib_src.tar.gzinstall.pyfluxon_release.sha256
  • etcd / greptime / TiKV 运行时包:ext_images.tar.gz

如果你只是让 Python 业务进程接入已经存在的服务平面,通常只需要安装 Fluxon 核心包;如果你还要自己拉起 KV / MQ / FS 依赖的服务平面,则还需要准备 etcd / greptime / TiKV 运行时包。相关角色关系见 架构和概念

从 GitHub Release 下载(推荐)

发布后可从 GitHub Releases 页面下载预构建安装产物:

https://github.com/<org>/fluxon/releases

安装 Fluxon 核心包

下载 fluxon_release.tar.gz 后解压并安装 wheel:

tar xzf fluxon_release.tar.gz
cd fluxon_release
pip install fluxon-*.whl fluxon_pyo3-*.whl

下载 etcd / greptime / TiKV 运行时包

下载 ext_images.tar.gz 后解压:

tar xzf ext_images.tar.gz

解压后应能看到以下对象:

  • ext_images/etcd/etcd
  • ext_images/etcd/etcdctl
  • ext_images/etcd/start.sh
  • ext_images/greptime/greptime
  • ext_images/greptime/start.sh
  • ext_images/tikv/pd-server
  • ext_images/tikv/tikv-server
  • ext_images/tikv/start_pd.sh
  • ext_images/tikv/start_tikv.sh
  • ext_images/ext_images.sha256

这些对象用于拉起服务平面的外部依赖;fluxon_py.runtime 不负责替代 etcdgreptimeTiKV

从源码打包

如果需要从源码构建,核心打包入口是 setup_and_pack/pack_release.py;它会自动串起外围运行时导出脚本 setup_and_pack/pack_release_ext.py,最终把核心 wheel、pylib_src.tar.gzinstall.pyext_images.tar.gzfluxon_release.sha256 一并收束到 fluxon_release/

  • setup_and_pack/pack_release.py:打 Fluxon 核心安装包
  • setup_and_pack/pack_release_ext.py:导出 etcd / greptime / TiKV 运行时对象

详细流程分别见:

安装产物清单

Fluxon 核心包

fluxon_release/ 目录包含以下核心产物:

文件说明
fluxon-*.whlFluxon Python 包
fluxon_pyo3-*.whlFluxon Rust 绑定(PyO3)
pylib_src.tar.gzPython 源码包
install.pyrelease 运行时入口
fluxon_release.sha256所有产物的 SHA256 校验文件

etcd / greptime / TiKV 运行时包

fluxon_release/ext_images/ 目录包含以下运行时对象:

文件说明
ext_images/etcd/etcdetcd 可执行文件
ext_images/etcd/etcdctletcd 命令行工具
ext_images/etcd/start.shetcd 启动脚本
ext_images/greptime/greptimegreptime 可执行文件
ext_images/greptime/start.shgreptime 启动脚本
ext_images/tikv/pd-serverTiKV PD 可执行文件
ext_images/tikv/tikv-serverTiKV 可执行文件
ext_images/tikv/start_pd.shTiKV PD 启动脚本
ext_images/tikv/start_tikv.shTiKV 启动脚本
ext_images/ext_images.sha256运行时对象的 SHA256 校验文件

验证安装

python3 -c "import fluxon_py; print('ok')"

如果你还准备了本地服务平面运行时包,可以顺手检查二进制是否已解压到位:

test -x ext_images/etcd/etcd
test -x ext_images/greptime/greptime
test -x ext_images/tikv/pd-server
test -x ext_images/tikv/tikv-server

系统要求

  • Linux(暂不支持 macOS / Windows)
  • Python >= 3.10
  • 预构建 Python wheel 使用 manylinux_2_28 构建,对应当前发布产物的 glibc ABI 兼容性基线
  • 从源码构建或打包时,Rust 工具链以 fluxon_rs/rust-toolchain.toml 为准,当前固定为 1.93.0
  • Docker(仅 Quick Start 或从源码执行 setup_and_pack/pack_release_ext.py 需要)