Uruchomiłem dokładnie ten sam kod w obu oknach i macach, z pythonem 3.5 64-bitowym."OverflowError: Python int jest zbyt duży, aby przekonwertować na C long" w oknach, ale nie w wersji Mac
Na okien, wygląda to tak:
>>> 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
Jednak ten kod działa poprawnie na moim mac. Czy ktoś mógłby pomóc wyjaśnić, dlaczego lub podać rozwiązanie dla kodu w systemie Windows? Dzięki wielkie!
Jesteś pewien, że oba są 64-bitowe? możesz testować na Linuksie? – Tim
Nawet jeśli oba systemy są w 64-bitowym Pythonie, czy oba są na 64-bitowej NumPy? – user2357112
Kolejne pytanie stackoverflow wyjaśnia "dlaczego". Na Windowsie long jest 32-bitowy, a na Unux-like long jest 64-bitowy. Zobacz pytanie http://stackoverflow.com/questions/384502/what-is-the-bit-size-of-long-on-64-bit-windows – VladimirM