Asegúrese de que solo se ejecute una única instancia de un programa

¿Hay una manera Pythonic de tener solo una instancia de un programa en ejecución?

La única solución razonable que se me ocurrió es intentar ejecutarlo como un servidor en algún puerto, luego falla el segundo programa que intenta vincularse al mismo puerto. Pero en realidad no es una gran idea, ¿tal vez hay algo más liviano que esto?

(Tenga en cuenta que a veces se espera que el programa falle, es decir, por defecto, por lo que cosas como "bloquear archivo" no funcionarán)

Actualizar: las soluciones ofrecidas son mucho más complejas y menos dependientes que simplemente tener un puerto ocupado con un servidor inexistente, por lo que tendría que ir con ese.

Respuestas a la pregunta(19)

Su respuesta a la pregunta