For reference, here's the full traceback. Issue #27975 isn't relevant here - the problem is an out-of-range integer being passed to the math.pow operation.
taniyama:cpython-git mdickinson$ ./python.exe
Python 3.7.0a0 (default, Sep 13 2016, 08:36:28)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import statistics
>>> statistics.geometric_mean(0.7 for _ in range(5000))
Traceback (most recent call last):
File "/Users/mdickinson/Python/cpython-git/Lib/statistics.py", line 343, in float_nroot
isinfinity = math.isinf(x)
OverflowError: int too large to convert to float
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/mdickinson/Python/cpython-git/Lib/statistics.py", line 578, in geometric_mean
s = 2**p * _nth_root(2**q, n)
File "/Users/mdickinson/Python/cpython-git/Lib/statistics.py", line 330, in nth_root
return _nroot_NS.float_nroot(x, n)
File "/Users/mdickinson/Python/cpython-git/Lib/statistics.py", line 345, in float_nroot
return _nroot_NS.bignum_nroot(x, n)
File "/Users/mdickinson/Python/cpython-git/Lib/statistics.py", line 472, in bignum_nroot
b = 2**q * _nroot_NS.nroot(2**r, n)
File "/Users/mdickinson/Python/cpython-git/Lib/statistics.py", line 365, in nroot
r1 = math.pow(x, 1.0/n)
OverflowError: int too large to convert to float |