본문 바로가기
파이썬

파이썬 "OverflowError : Python int가 너무 커서 C long으로 변환 할 수 없음"Windows에서 Mac이 아님

by º기록 2020. 11. 1.
반응형

파이썬 3.5 64 비트로 Windows와 Mac에서 똑같은 코드를 실행하고 있습니다.

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의 코드에 대한 이유를 설명하거나 솔루션을 제공 할 수 있습니까? 정말 고마워!

 

해결 방법

 

숫자가 sys.maxsize 보다 크면 해당 오류가 발생합니다.

>>> p = [sys.maxsize]
>>> preds[0] = p
>>> p = [sys.maxsize+1]
>>> preds[0] = p
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OverflowError: Python int too large to convert to C long

다음을 확인하여 확인할 수 있습니다.

>>> import sys
>>> sys.maxsize
2147483647

더 큰 정밀도로 숫자를 가져 오려면 장면 뒤에서 제한된 C 정수를 사용하는 int 유형을 전달하지 마십시오. 기본 부동 소수점 사용 :

>>> preds = np.zeros((1, 3))

 

참조 페이지 https://stackoverflow.com/questions/38314118

 

 

반응형

댓글