Python 2, <del>75</del> 69 bytes
================================

<!-- language: lang-python -->

    from random import*;s=0;j=randrange
    while j(12):s=s*9+j(-8,9)
    print s

It is trivial to check that the while loop in the middle can generate all integers (albeit biased towards zero). "12" is chosen such that there are roughly half of numbers exceeding ±10<sup>6</sup>.

-----

Older solution:


<del>Python 2, 44 bytes</del>
==============================

<del>Based on the [Mathematica solution](https://codegolf.stackexchange.com/a/42807/32353).</del>

<!-- language: lang-python -->

    from random import*;print int(gauss(0,8**7))

**Doesn't really work because Python's `float` has only finite precision.**