"OverflowError: Python int zu groß ist, um konvertieren zu C-lang" auf windows und nicht mac

Ich bin mit den exakt selben code auf beiden windows und mac, mit python 3.5 64-bit.

Unter windows sieht es wie folgt aus:

>>> 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

Jedoch, dieser code funktioniert einwandfrei auf meinem mac. Könnte jemand helfen zu erklären, warum oder geben Sie eine Lösung für den code auf windows? Vielen Dank!

  • Sie sind sicher, beide sind 64 bit? können Sie test auf linux?
  • Auch wenn beide Systeme auf 64-bit-Python, sind Sie beide auf 64-bit-NumPy?
  • Ein weiterer stackoverflow-Frage erklärt 'warum'. Auf Windows lange ist 32bit und auf Unux-wie lange ist 64bit. Bitte siehe Frage stackoverflow.com/questions/384502/...
  • Verwenden dtype='int64' oder dtype=np.int64. Die int Typ verwendet eine C long, das ist immer 32-bit auf Windows.
  • Tim: ja, beide sind 64bit. Ich habe keinen linux Rechner, sorry. zu user2357112: ja, beide sind 64-bit-python und numpy. zu VladimirM: Danke! Ich denke, diese Frage Antworten mir! zu eryksun: Danke! Es funktioniert!
  • Wie würden Sie dies tun, ohne numpy?

InformationsquelleAutor packybear | 2016-07-11
Schreibe einen Kommentar