Você pode escrever scripts de wrapper assim:
nome do arquivo: foobar
#! /usr/bin/env python
import foobar
foobar.main()
nome do arquivo: foobar.py
#! /usr/bin/env python
....
(actual code)
....
def main():
...
if __name__ == '__main__':
main()
Em seguida, chmod +x foobar . Para editar o duplo clique em foobar.py e executar o duplo clique em foobar .
Isso segue a convenção unix / linux de que os executáveis não têm nenhuma extensão e a convenção do python de que os arquivos de origem têm uma extensão .py .