title: Why does python setup.py bdist_wheel creates a build folder?
body: <p>I just learned to upload <a href="https://pypi.org/project/animalsay/" rel="nofollow noreferrer">my own python packages to PyPI</a> thanks to this amazing <a href="https://realpython.com/pypi-publish-python-package/#configuring-your-package" rel="nofollow noreferrer">tutorial.</a> I am trying now to better understand how <code>wheels</code> works and I found <a href="https://realpython.com/python-wheels/#setup" rel="nofollow noreferrer">this article</a> helpful.</p>
  <p>However, I still do not understand why <code>python setup.py bdist_wheel</code> creates an almost empty directory named <code>build</code> with two subfolders: <code>bdist.win-amd64</code> (empty) and <code>lib</code> (which contains a copy of my package), in addition to the <code>.whl</code> file in the <code>dist</code> directory that developers will later upload to PyPI by doing <code>python -m twine upload dist/*</code>.</p>
  <p>Why is this <code>build</code> directory necessary? I mean, would the <code>dist</code> directory not be enough? Moreover, why is the <code>.whl</code> called a <em>binary distribution</em> if the code is not actually compiled.</p>