我在 windows 和 mac 上运行完全相同的代码,使用 python 3.5 64 位。
在 Windows 上,它看起来像这样:
>>> import numpy as np
>>> preds = np.zeros((1, 3), dtype=int)
>>> p = [6802256107, 5017549029, 3745804973]
>>> preds[0] = p
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
preds[0] = p
OverflowError: Python int too large to convert to C long
但是,此代码在我的 Mac 上运行良好。任何人都可以帮助解释原因或为 Windows 上的代码提供解决方案吗?非常感谢!
原文由 packybear 发布,翻译遵循 CC BY-SA 4.0 许可协议
一旦你的数字大于
sys.maxsize
你就会得到这个错误:您可以通过检查来确认这一点:
要获取更高精度的数字,请不要传递在幕后使用有界 C 整数的 int 类型。使用默认浮动: