Я запускаю тот же самый код как для Windows, так и для Mac, с python 3.5 64 бит.«OverflowError: Python int too large to convert to C long» на окнах, но не mac
На окнах, это выглядит следующим образом:
>>> 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
Однако штраф этот код работает на моем компьютере. Может ли кто-нибудь объяснить причину или дать решение для кода на окнах? Спасибо!
Вы уверены, что оба 64-битного? можете ли вы протестировать на linux? – Tim
Даже если обе системы находятся на 64-битном Python, они оба находятся на 64-битном NumPy? – user2357112
Другой вопрос об использовании stackoverflow объясняет «почему». В Windows длинная 32-битная и на Unux-подобной длине 64 бит. См. Вопрос http://stackoverflow.com/questions/384502/what-is-the-bit-size-of-long-on-64-bit-windows – VladimirM