Criar um único executável de um projeto Python

| | | |

Quero criar um único executável do meu projeto Python. Um usuário deve poder baixá-lo e executá-lo sem precisar do Python instalado. Se eu estivesse apenas distribuindo um pacote, eu poderia usar pip, wheel e PyPI para compilá-lo e distribuí-lo, mas isso requer que o usuário tenha Python e saiba como instalar pacotes. O que posso usar para criar um executável independente de um projeto Python?