LumiBot / 安装实测

LumiBot 安装与依赖体量:PyPI 装到 4.5.91,README 让你装 4.5.92

LumiBot 有 PyPI 包,所以安装本身不是问题;问题是你会装到哪一版pip install lumibot 拿到的是 PyPI 最新发行版 4.5.91(2026-09-06 上传,只提供 wheel,无 sdist);而仓库 dev 分支的 setup.py 里版本号已经写成 4.5.92,README 的 AI 快速上手也是直接从仓库分支安装——因为那一版当时还没有发到 PyPI

第二个问题是体量。这个包的依赖清单有 50 条,横跨数据源 SDK、券商 SDK、AI agent 栈(Google ADK / LiteLLM / MCP)、存储与查询(DuckDB / PyArrow / SQLAlchemy),单个包最大文件体积从 5 MB 到 50 MB 不等。本站把体积、轮子标签与两个真实卡点逐条列了出来。

第三个问题是诚实边界,而这一页有实测结论可给:在全新的 Python 3.11 虚拟环境里执行 pip install lumibot7.6 秒就在依赖解析阶段失败并退出——卡点不是 LumiBot 自己(--no-deps 单独装它 exit=0),而是它硬钉住的 ibapi==9.81.1.post1:这个包在 PyPI 上只有源码包,且它的 sdist 在当前 pip / setuptools 下连元数据都生成不出来。下面把每一步的命令、退出码与原文错误都列出来,你可以自己复现。

PyPI 4.5.91(wheel 37.8 MB)Python >=3.10(无 3.13)依赖 50 条采集日期 2026-09-22
本文核对环境
  • 本机:Windows + Python 3.11.9(EasyClaw 自带运行时)
  • PyPI:lumibot 4.5.91,wheel lumibot-4.5.91-py3-none-any.whl,37,810,900 字节
  • 仓库:dev 分支 setup.pyversion = "4.5.92"(PyPI 上不存在)
  • 端到端安装实测:采集时仍在进行,本文不下结论
  • 采集日期 2026-09-22;本站未实盘下单,不做收益声明
PyPI 路径pip install lumibot → 4.5.91,2026-09-06 上传
仓库分支路径git+…@version/4.5.92,README 的 AI 快速上手用这条
共同代价50 条依赖;Python ≥3.10;可选 39 MB jar
两条官方安装路径示意(依据 PyPI JSON 与仓库 setup.pyrequirements.txt,2026-09-22 采集)。示意图只重述这些出处的事实;安装结果以你自己的环境为准。
两条官方路径

装 4.5.91 还是装 4.5.92?先看这张对照表

两条路径都是官方给的,但它们的交付方式、可复现性和适用场景都不一样。选错不会报错,只会在你按 README 跑 AI 示例时才发现版本对不上。

对照项PyPI 发行版 4.5.91仓库分支 4.5.92注意点
安装命令pip install lumibotpip install "git+https://github.com/Lumiwealth/lumibot.git@version/4.5.92"第二条命令来自 README「Run your first AI backtest」,不是本站自造写法
版本号来源PyPI 发行版记录仓库 setup.pyversion= 字段两者不一致:PyPI 的发行版键集合里没有 4.5.92
时间点2026-09-06T21:16:02Z 上传version/4.5.92 分支 HEAD c28161f8,2026-09-21分支会继续移动;要复现就得记下 commit
交付物形态只有 wheel:lumibot-4.5.91-py3-none-any.whl37,810,900 字节;无 sdist源码(从 Git 仓库构建安装)没有 sdist 意味着你无法只下载源码包离线安装,必须走 wheel 或 Git
适用场景传统规则策略的回测、长期自托管跑 README 的 AI agent 示例、跟进未发行修复先跑通回测再决定要不要切分支,是成本最低的顺序
可复现性版本号固定,任何机器一致需要自己记录 commit 才能复现切换前把当前 pip show lumibot 的版本与分支 commit 都记下来
许可元数据口径wheel 内 METADATALicense: MITsetup.pylicense="GPL-3.0"同一项目两套许可口径,详见许可与商业边界;本站不提供法律意见
发行版总量PyPI 上累计 640 个发行版高频发布说明维护活跃,也说明版本号会频繁变化,不必追新
# 路径 A:PyPI 最新发行版(拿到 4.5.91)
python -m pip install lumibot

# 路径 B:README 指定的仓库分支(AI 快速上手用这条)
python -m pip install "git+https://github.com/Lumiwealth/lumibot.git@version/4.5.92"
为什么 README 不用 PyPI 命令:因为 AI 快速上手依赖当时还没发布的版本。官方在 README 里直接把安装源指向仓库分支,等于承认「PyPI 落后一个版本」。这不是本站的推断,是两条命令摆在一起的直接结果。
环境要求

Python 版本、操作系统与那些「未注明」的项

官方对 Python 版本有明确下限,但对操作系统与编译工具链没有逐项承诺。下面把「官方写明」和「本站未实测」分开列。

要求项具体值出处注意点
Python 最低版本>=3.10仓库 setup.pypython_requires、PyPI 元数据、README 均一致三处口径一致,这一条可以放心依赖
官方声明支持的版本3.10 / 3.11 / 3.12wheel 内 METADATA 的 classifiers 只列这三个没有 3.13;「能跑」和「被官方列名」是两件事
3.13 相关分支状态3.13-support(2024-12-09)、3.13-fix(2024-12-17)GitHub 分支列表与单分支 commit 查询两个分支都停在 2024 年,本站在此只陈述时间,不替官方判断 3.13 支持状态
操作系统classifiers 写 OS Independentwheel 内 METADATA本站只在 Windows + Python 3.11.9 上做过依赖探测,Linux / macOS 未逐项实测
是否需要本地编译工具链取决于依赖里有没有源码包本机对 50 条依赖逐包查 PyPI 得到的轮子标签已知 ibapi==9.81.1.post1 只有源码包;Windows 上缺构建工具时的表现属推断,未实测
磁盘占用官方未注明本站只取到「单个包最大文件体积」,不等于安装后占用,因此不给总量数字
网络环境官方未注明依赖数量多、体积大,境内网络可能需要配镜像源;本站未实测速度
虚拟环境官方未强制仓库贡献指南建议用 pip install -r requirements_dev.txt && pip install -e . 做开发安装强烈建议独立 venv:这个包会带来 numpy / pandas / pyarrow 等重量级数值栈,装进全局环境后很难回退
依赖体量

50 条依赖到底有多重:按体积和类别分别看

先说明口径:下表「最大文件体积」是本机逐个查 PyPI 得到的单个包内最大文件的字节数,用于比较相对轻重,不是安装后的磁盘占用,也不等于全部平台文件之和。

为什么它会在依赖里本机取到的最大文件体积适用场景 / 注意点
pyarrow>=15.0.0Parquet 读写:AI 记忆产物与回测产物都以 Parquet 导出50.7 MB不跑 AI agent 也装;想要轻量环境时可评估是否可后置安装
scipy>=1.14.0数值与优化:指标计算、组合相关计算35.8 MB注释写 SciPy 1.14+ 才支持 NumPy 2.x
duckdb官方推荐的 agent 时序分析入口(用 SQL 查历史,而不是把大段 bar 塞进提示词)31.2 MBAI agent 路线会用到;纯规则策略回测基本不碰
matplotlib>=3.3.3回测出图与 tearsheet 绘图31.1 MB出了名的重;无图形界面的服务器要留意后端设置
litellm>=1.83.7,<=1.83.14多模型路由:agent 可用不同 provider 的模型串26.2 MB上限被钉死在 1.83.14,属强约束,升级前先看官方说明
numpy>=1.20.0,<2.5.0数值基础库19.8 MB注释写 NumPy 2.5 会通过 pandas 2.x 日历路径发出大量 timedelta 弃用告警,因此刻意设了上限
pandas>=2.2.0数据结构与时间序列11.6 MB下限 2.2.0,与 pandas_market_calendarsexchange_calendars 配合
sqlalchemy数据库抽象层9.5 MB与 SQLite / Postgres 相关路径配合
plotly>=5.18.0交互式图表9.2 MB与 matplotlib 同时存在,二者用途不同
ccxt>=4.5.50加密货币交易所统一接口6.3 MB注释写明 4.5.50+ 才包含 WEEX 支持,低于该版本会缺交易所
psycopg2-binaryPostgres 客户端5.6 MBbinary 变体,免编译;它自带二进制依赖,体积比纯 Python 包大
依赖类别代表包是否必需注意点
数值与数据结构numpypandasscipypyarrow必需体积主要来源,也是升级冲突的主要来源
数据源 SDKpolygon-api-clientalpaca-pyalpha_vantageyfinancedatabentoquandl必需(安装层面)装了 SDK 不等于有数据权限,多数要自己的账号或订阅
券商 SDKibapi==9.81.1.post1lumiwealth-tradierschwab-pyccxt必需(安装层面)ibapi钉死版本且只有源码包;ccxt 是选择性支持,不承诺覆盖全部交易所
AI agent 栈google-adk[extensions]google-genailitellmopenaimcpanyio随包安装,但只在跑 agent 时用跑 agent 还需要你自己的模型 Key;这部分体积与不跑 AI 的用户无关
存储与查询duckdbsqlalchemypsycopg2-binaryappdirs必需记忆与缓存都落地在本地;缓存目录与记忆目录可用环境变量指定
可视化matplotlibplotlyquantstats-lumitabulate必需quantstats-lumi 是该项目自维护的 tearsheet 分支,版本上限 <1.2.0
工程与调度apschedulerpytzholidaysexchange_calendarspsutilyappitqdmtermcolorjsonpicklebcryptpytestfree-proxyrequests-oauthlibboto3httpxpython-dotenvFlasksetuptools<81websocketspolarspandas_market_calendarspandas-ta-classic必需(安装层面)setuptools 也设了上限 <81pytest 出现在运行期依赖里,说明它默认把测试工具一并装上
三处清单并不完全一致(本机逐项比对结果):requirements.txtsetup.pyinstall_requires 各 50 条,PyPI 元数据 requires_dist51 条(多出的一条是 thetadata; extra == "thetadata",即可选 extras)。另外两条清单有一处互换差异:requirements.txt 里有 websockets>=15.0.1setup.py 里没有,setup.py 里有 httpxrequirements.txt 里没有。所以你用 pip install -r requirements.txtpip install lumibot 装出来的环境,在极端情况下会差一个包的版本解析结果——这不是本站的推断,是两份文件摆在一起的直接差异。
关于 polars 那一行:本机对 polars>=1.32.3 的 PyPI 查询失败(网络错误),因此本页不给它的体积与轮子标签。宁缺不编:这一项标为「未取到」,而不是拿别的版本号凑数。
真实卡点

两个可能让你卡住的点:只有源码包的 ibapi 与 39 MB 的 jar

这两件事都不会在 README 的安装段落里被强调,但会实际影响安装结果与磁盘占用。

卡点现象怎么确认注意点
ibapi==9.81.1.post1 只有源码包本机查 PyPI 得到的标签是 SDIST-ONLY(无 any wheel、无平台 wheel)打开 pypi.org/project/ibapi/9.81.1.post1/#files 看文件列表源码安装通常能成功,但是否需要额外构建工具链本机未实测;Windows 上失败会表现为编译错误
版本被钉死ibapi== 是精确等号,不是 >=requirements.txt / install_requires 原文如果你的项目另外需要别的 ibapi 版本,会直接冲突
依赖解析被上限截断numpy<2.5.0litellm<=1.83.14setuptools<81quantstats-lumi<1.2.0 都设了上限pip install lumibot 的输出里看实际解析到的版本PyPI 上 numpy 最新是 2.5.3、litellm 最新远高于 1.83.14,都会被约束排除;这不是报错,是你的环境会比「最新」旧
可选的 39 MB jar仓库内 lumibot/resources/ThetaTerminal.jar = 39,187,662 字节看仓库 lumibot/resources/ 目录页的文件大小ThetaData 是可选 extrasextras_require = {"thetadata": ["thetadata"]}),但 jar 随包走
jar 确实在 wheel 里本机把 lumibot-4.5.91-py3-none-any.whl 解包后,231 个条目内含该 jarpython -m pip download --no-deps lumibot==4.5.91 后解压查看这也解释了为什么这个纯 Python wheel 有 37.8 MB
是否需要本机 Java未实测官方文档未在安装段落明确要求本站不写「必须装 Java」,也不写「不需要」——标为未实测,请以官方 ThetaData 相关文档为准
附带装进来的内部技能同一 wheel 里还带 lumibot/components/agents/skills/ 下的 3 个技能与 agents/*.yaml同上,解包即可看到这是 LumiBot 的运行时技能,和 EasyClaw 的技能体系无关,别混淆
本机实测记录

哪些是实测结论,哪些只是元数据推断

这一节把本站做过的探测逐条摊开,并给每条标注结论强度。「实测」= 在本机真的执行了命令并读到输出;「推断」= 只依据元数据或文档,未在本机验证行为。

实测项用到的命令 / 接口观察结果结论强度注意点
PyPI 发行信息拉取 pypi.org/pypi/lumibot/json最新版 4.5.91,2026-09-06T21:16:02Z;共 640 个发行版;requires_dist 51 条实测采集时点快照,版本会继续更新
wheel 内容pip download --no-deps lumibot==4.5.91 后解包37,810,900 字节,231 个条目;内含 ThetaTerminal.jaragents/skills/*dist-info/licenses/LICENSE实测解包看到的是包装载的内容,不代表运行时都会用到
仓库版本与依赖清单读取 raw/dev/setup.pyraw/dev/requirements.txtversion="4.5.92"python_requires=">=3.10";两份清单各 50 条;与 requires_dist 存在一处互换差异实测读的是 dev 分支当时的文件,会随提交变化
依赖轮子标签与体积对 50 条依赖逐包查 PyPI JSON得到体积表与平台标签;ibapi 为 SDIST-ONLY实测(部分失败)polars 查询失败,该项无结论;其余依赖的标签是「当前最新版」的标签
端到端安装全新 venv 中执行 pip install lumibot失败:exit=1,7.6 秒,停在 ibapi-9.81.1.post1.tar.gz 的 metadata 生成实测(失败)报错原文 metadata-generation-failed,pip 自己注明「这是被依赖包的问题,不是 pip 的问题」;本站据此写「安装成功」或「安装失败」;这是本页最重要的边界
排除自身原因pip install --dry-run --no-deps lumibotexit=0,输出 Would install lumibot-4.5.91实测(通过)证明 LumiBot 自己的 wheel 没问题,失败来自依赖链
换安装方式能否绕过pip install --no-build-isolation ibapi==9.81.1.post1,以及不钉版本的 pip install ibapi两种都失败,同样报 ModuleNotFoundError: No module named src实测(失败)不是版本选择或构建隔离的问题,是该 sdist 自身缺陷
导入验证与最小回测—(安装链未打通,无从执行)未执行未完成没有导入成功的证据,就不声称导入成功;回测能否跑通属另一件事
这个结论要怎么看:它说明的是「在干净 venv 里一把梭 pip install lumibot 会失败」,不等于「LumiBot 装不上」——失败点是它依赖的一个老券商 SDK,不是框架本身。已知可行的方向有三条:①pip install lumibot --no-deps 先装框架本体,再按需逐个补依赖(不用 Interactive Brokers 就不必装 ibapi);②若必须用 IBKR,改用官方 IB API 安装包或可构建的 ibapi 版本,再手动对齐版本号;③走容器 / 托管路线绕开本地构建。这三条本站只验证了第 ①的前半步(--no-deps 能解析到 lumibot-4.5.91),其余未实测,请以你的环境实测为准。
你也可以自己用两条命令判断:python -m pip show lumibot把「正在进行的实测」写成「已验证成功」是最常见的失真方式,本站不做这件事。你可以自己用两条命令判断:python -m pip show lumibot 看装到哪一版,以及 python -c "import lumibot; print(lumibot.__file__)" 看能不能导入(这两条是通用 pip / Python 用法,本站未在本机完成端到端安装,因此不声称它们已被验证成功)。
报错排查

装不上时按这个顺序查

按「先看版本、再看编译、最后看网络与权限」的顺序排查,比反复重装省时间。下表是安装阶段真实会遇到的场景。

现象 / 报错可能原因怎么确认注意点
安装到编译阶段失败(与 ibapi 相关)该依赖只有源码包,需要本地构建pip 输出里是否出现 Building wheel for ibapi 之后再报错本机未实测该路径;若失败,先确认是否具备构建工具再考虑跳过
ModuleNotFoundError: No module named 'lumibot'装到了另一个 Python 环境python -m pip show lumibotpython -c "import sys; print(sys.executable)" 对比路径Windows 上机器里常有多个 Python;用 python -m pip 而不是裸 pip 能显著减少这类问题
依赖解析出比你预期更旧的版本numpy<2.5.0litellm<=1.83.14setuptools<81 等上限生效对比 pip list 与 PyPI 上的最新版这是设计上的约束,不是 bug;要改上限就得自己承担未验证组合的风险
AI 示例一运行就退出缺模型 Key(例如 Gemini 的 Key)看日志里是否出现 provider key 相关提示README 明确写了缺 Key 会提示并给出建 Key 链接;这与安装是否成功无关
回测一启动就取不到数据数据源未配置或该源需要订阅看是否设置了 BACKTESTING_DATA_SOURCE;先用 Yahoo 免费日线试安装成功不等于数据可用,见数据源与路由
下载阶段长时间不动或超时依赖数量多、单包体积大pip 是否仍在下载(本机第一次探测耗时明显偏长)建议配镜像源并留足时间,别在中途反复 Ctrl+C(会留下半装状态)
装完发现全局环境被污染没在 venv 里装pip list 是否出现大量数值/AI 相关包这个项目会带进 numpy / pandas / scipy / pyarrow / duckdb 等重量级依赖,务必用独立 venv
磁盘突然少了几百 MBwheel 与缓存叠加(单个包最大文件可达 50.7 MB)pip cache dir 与 venv 所在目录大小清缓存用 pip cache purge;本站未给出确切的最终占用数字
FAQ

关于 LumiBot 安装的高频问题

以下回答基于 2026-09-22 对 PyPI 元数据、仓库文件与本机探测的核对;涉及具体安装结果的部分会明确标注是否已实测。本站未实盘下单,不做收益声明。

为什么 pip install lumibot 装到的版本和 README 说的不一样?

因为两个来源本来就不同步:PyPI 上最新发行版是 4.5.91(2026-09-06 上传),而仓库 dev 分支的 setup.py 里版本号已经写成 4.5.92,PyPI 的发行版列表里没有 4.5.92。README 的 AI 快速上手因此直接指向仓库分支 @version/4.5.92这不是本站的推测,是两条官方命令放在一起的直接结果。传统规则策略的回测用 PyPI 版就够;要跑 README 的 AI 示例,按 README 的命令装。

能用 Python 3.13 吗?

本站核到的事实是:python_requires>=3.10,但 wheel 元数据的 classifiers 只列了 3.10 / 3.11 / 3.12,没有 3.13;仓库里与 3.13 相关的两个分支(3.13-support 2024-12-09、3.13-fix 2024-12-17)都停在 2024 年。本站没有在 3.13 上实测过,因此不写「支持」也不写「不支持」。要稳妥,就用被官方列名的 3.11 或 3.12;要用 3.13,请自己先在一个 venv 里验证,并留意那些带上限的依赖在你的版本上能不能解析。

要不要装 ThetaData?

ThetaData 是可选 extrasextras_require = {"thetadata": ["thetadata"]},官方 README 把它列为「覆盖最深」的推荐数据商,但它不是必需项。需要注意的是,即使你不装 extras,仓库与 wheel 里也带着 ThetaTerminal.jar(39,187,662 字节,本机解包实测确在 wheel 内)。是否需要本机 Java 运行时,本站未实测,因此不给结论。先决定你的资产类别与历史深度需求,再决定要不要为数据付费,见数据源与路由

装好了就能直接跑 AI 示例吗?

不一定。跑 AI agent 至少还缺两样:模型 Key(README 的示例用 Gemini 的 Key,默认模型是 gemini-3.5-flash-lite)和可用的数据源配置。另外 AI 示例在 README 里是配合 4.5.92 分支写的。本站的端到端安装在采集时尚未完成,所以本页不声称「装完即可运行」——这也是本站对这类问题的统一处理方式:没实测就不下结论。

装它要占多大磁盘?

本站没有给出确切的总量数字,因为没实测完整安装。能确定的是:PyPI wheel 本身 37.8 MB(内含 39 MB 的 jar,说明 jar 在压缩后占比很大),而依赖里单个包的最大文件体积分布在 5.6 MB(psycopg2-binary)到 50.7 MB(pyarrow)之间,另有 matplotlib、duckdb、scipy 都在 30 MB 量级。「单个包最大文件体积」不等于安装后占用,所以别把上表数字相加当答案。要准确数字,装完后直接看 venv 目录大小。

我该自己装 LumiBot,还是先用 EasyClaw 技能路线?

看你的下一步要交付什么。如果你要的是一个能连券商、能跑历史回测、能让 agent 决策落地的系统,那必须自己装(自托管,并准备券商账号、数据源与模型 Key)——技能路线替代不了这件事。如果你近期只是想取数据、算指标、做一次简单回测看看感觉,那部署一套常驻框架不划算,用自然语言的技能路线成本低得多。需要说明的是:本机 EasyClaw 技能目录里没有 LumiBot 相关技能,两者之间没有已证实集成;技能路线覆盖的市场与执行形态也和 LumiBot 不同,具体对照见对比页。两条路线的分工可以互补:先用技能路线做探索,确认值得投入后再自己搭。

下一步:装完之后,回测的数据从哪来?

安装只解决了「代码在不在」,下一个问题是「行情从哪来」——免费源、券商自带源、付费源与自有 CSV 的口径差别很大,直接决定你的回测结果能不能对得上。