Executáveis em Python

 Uma ótima ferramenta para gerar arquivos executáveis em Python para Windows e Linux é o PyInstaller. Com ela você gera arquivos binários e que não dependem de outras bibliotecas para serem executados.

https://www.pyinstaller.org/

Segue uma tradução da página principal de pyinstaller.org

PyInstaller é um programa que congela (pacotes) Python em executáveis ​​autônomos, no Windows, Linux, Mac OS X, FreeBSD, Solaris e AIX. Suas principais vantagens em relação a ferramentas semelhantes são que o PyInstaller trabalha com Python 2.7 e 3.4-3.7, ele constrói executáveis ​​menores graças à compressão transparente, é totalmente multiplataforma e usa o suporte do sistema operacional para carregar as bibliotecas dinâmicas, garantindo compatibilidade total.

O principal objetivo do PyInstaller é ser compatível com pacotes de terceiros prontos para uso. Isso significa que, com o PyInstaller, todos os truques necessários para fazer com que os pacotes externos funcionem já estão integrados no próprio PyInstaller, para que não haja necessidade de intervenção do usuário. Você nunca precisará procurar por truques em wikis e aplicar modificações personalizadas a seus arquivos ou a seus scripts de configuração. Como exemplo, bibliotecas como PyQt, Django ou matplotlib são totalmente suportadas, sem ter que manipular plugins ou arquivos de dados externos manualmente. Confira nossa lista de compatibilidade de Pacotes Suportados para mais detalhes.

PyInstaller Quickstart

Instale PyInstaller de PyPI:

pip install pyinstaller

Vá para o diretório que contém seu código fonte e…

pyinstaller yourprogram.py

Será gerado um pacote em uma sub-pasta chamada dist.

Para mais informações veja o manual.

Timer em Python: Execute tarefas em tempo programado

Se você precisar executar depois de um tempo determinado este código Python vai ajudar.

O Timer é um thread (processo que executa paralelamente) que vai contando o tempo e executa na hora programada. Veja:

#Autor: Ricardo Antonello
from threading import Timer

def oi():
  print("oi!")

t = Timer(2.0, oi)
t.start() # Depois de 2 segundos a função oi() será executada