我在执行日期和持续时间的算术运算时不断收到以下错误
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 3.10 以及 isodate 包版本 0.6.0,这很可能会发生。这种特殊的组合会导致上述错误。 将 isodate 版本更新到 0.6.1 应该可以解决错误