使用lumibot的backtest()函数报错:No such keys(s): 'mode.use_inf_as_null'
解决Lumibot backtest时的pandas
mode.use_inf_as_null报错 问题原因
pandas 2.0.0及以上版本移除了mode.use_inf_as_null配置项,而旧版本的Lumibot内部仍在尝试调用这个已废弃的配置,触发OptionError。
解决方案
1. 升级Lumibot到兼容版本
最新版Lumibot已适配pandas 2.0+,执行以下命令升级:
pip install --upgrade lumibot
2. 手动添加版本兼容代码(升级后仍报错时使用)
在代码最开头添加pandas版本判断逻辑,避免调用不存在的配置项:
import pandas as pd # 适配pandas 2.0+的兼容处理 if pd.__version__ >= "2.0.0": pass # pandas 2.0+已移除该配置,无需设置 else: pd.set_option('mode.use_inf_as_null', True) # 后续导入Lumibot及其他代码 from datetime import datetime from lumibot.backtesting import YahooDataBacktesting from lumibot.strategies import Strategy # ... 你的策略代码 ...
3. 使用独立虚拟环境(推荐)
避免base环境的依赖冲突,创建专门的虚拟环境运行Lumibot:
# 创建conda虚拟环境 conda create -n lumibot_env python=3.9 conda activate lumibot_env # 安装适配版本的依赖 pip install lumibot pandas
内容的提问来源于stack exchange,提问作者Dennis
相关产品推荐
相关产品推荐

