这个Python中的溢出错误是什么意思?

8
完整的错误信息为:OverflowError:时间戳过大无法转换为C _PyTime_t 我不知道这是什么意思,也在网上找不到任何信息。 我刚开始学习Python,可能是我漏掉了一些非常简单的东西。
这个错误来自一个函数中的这行代码:time.sleep(t) t是一个变量。

1
https://bugs.python.org/issue25155 - karthikr
可能出现Python DateTime OverflowError。 - joel goldstick
1
错误信息中是否包含堆栈跟踪?如果有,那是重要的信息,您也应该发布它。如果没有堆栈跟踪,那也是重要的信息,您应该明确说明。此外,当您运行时能否发布一个触发错误的 MCVE?我们通常无法调试看不到的代码。 - user2357112
作为一条注释,这个错误信息在我的情况下没有包含堆栈跟踪,可能对提问者也是如此,这使得故障排除变得更加困难。 - bsplosion
4个回答

11

今天在Ubuntu的Windows子系统(WSL)上运行Python 3.7.2时,我遇到了这个问题,所以Thiago的答案不是通用的。经过一些研究,发现WSL无法处理长时间的正常运行时间(感谢"Petter S"找到这个症状)。

重新启动Windows可以解决错误的正常运行时间,使Python再次可运行。


更新1: WSL 2已经正式宣布发布,预计在Windows Insider版本中于2019年6月发布。考虑到微软为WSL 2建立了一个新的Linux内核,如果有人在WSL 2上复现此错误,可以随时更新。


更新2: WSL 2已经上线且可安装,可能仅适用于Insider环节。我还没有亲自测试过这个问题,但希望这个问题已经在此版本中得到解决。


我在WSL上遇到了完全相同的问题!这是谷歌上的第一个搜索结果,非常感谢。 - Nathan Hoad
刚在WSL2中遇到了这个问题。 :) - ggruen

3

https://github.com/microsoft/WSL/issues/3514按照说明重新启动了WSL服务(这样我就不需要重新启动计算机)

当我再次启动我的Ubuntu WSL会话时,所有失效的工具,如aws/python、ps、docker/tcp都能正常运行。

在PowerShell (管理员模式) 中执行以下命令:

PS C:\WINDOWS\system32> Get-Service LxssManager | Restart-Service


1

看起来这个错误发生在Python 3.5.0中,就像这里的问题一样:https://bugs.python.org/issue25155

检查你的Python版本。如果是3.5.0,请升级到最新版本3.5.2


0

在Windows中关闭控制台并重新打开可以解决我的问题。

我在执行sudo apt update时遇到了错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接