TypeError: 'decimal.Decimal' object cannot be interpreted as an integer!!!在处理日期时

问题描述 投票:0回答:1

我在执行日期和持续时间的算术运算时不断收到以下错误

current_date = isodate.parse_date(current_date_str)
period = isodate.parse_duration(period_str)

while:
   current_date += period
   <some code here>

在代码的第三行我得到这个错误:

回溯(最近调用最后一次):文件“C:\Program 文件\JetBrains\PyCharm 社区版 2023.1\plugins\python-ce\helpers\pydev_pydevd_bundle\pydevd_exec2.py",第 3 行,在 Exec 中 exec(exp, global_vars, local_vars) 文件“”,第 1 行,在文件中 “D:\project_name env\lib\site-packages\isodate\duration.py”,行 183,在 newdt = other.replace(year=newyear, month=newmonth, day=newday) TypeError: 'decimal.Decimal' object cannot be interpreted as 一个 整数

我尝试重新安装 python 和所有库。它没有帮助。

python date pycharm
1个回答
0
投票

如果您使用 python 3.10 以及 isodate 包版本 0.6.0,这很可能会发生。这种特殊的组合会导致上述错误。 将 isodate 版本更新到 0.6.1 应该可以解决错误

© www.soinside.com 2019 - 2024. All rights reserved.