Ubuntu环境pip安装tardis-sn遇Version对象不可下标错误求助
解决
tardis-sn安装时的TypeError: 'Version' object is not subscriptable错误 错误原因
该报错是因为tardis-sn依赖的旧版astropy-helpers与当前环境中较新的setuptools版本不兼容。新版本setuptools里,dist.parsed_version返回的是不可通过下标访问的Version对象,但旧版ah_bootstrap.py代码中尝试用[:2]截取版本号,从而触发类型错误。
解决步骤
- 先将
setuptools降级至兼容版本(例如60.2.0,该版本与旧版astropy-helpers适配):pip install setuptools==60.2.0 --user - 重新执行
tardis-sn安装命令:pip install tardis-sn --user
备选方案(虚拟环境隔离)
若不想修改全局setuptools版本,可通过虚拟环境隔离依赖:
- 创建并激活虚拟环境:
python -m venv tardis-env source tardis-env/bin/activate - 在虚拟环境内先降级
setuptools,再安装tardis-sn:pip install setuptools==60.2.0 pip install tardis-sn
内容的提问来源于stack exchange,提问作者Kaynar
相关产品推荐
相关产品推荐

