¿Hay alguna manera de crear un script de Python ejecutable que pueda ejecutarse en cualquier Mac a través de una terminal, similar a un script de Bash? Necesito que cualquier usuario pueda simplemente hacer doble clic en el archivo, y debería ejecutarse. Quiero que pueda ejecutarse sin que el usuario tenga instalado Python, pero tiene que ser un script de Python, ya que tiene que interactuar con un botón HTML.
MacOS viene con python 2.7 instalado (y lo ha hecho durante casi diez años). También contiene python 2.6 y 2.5 para compatibilidad con esas versiones, que estaban incluso en versiones anteriores del sistema operativo.
Por lo tanto, cualquier secuencia de comandos compatible con Python 2.7 se ejecutará en MacOS. Si guarda el archivo con la terminación de archivo .command
o .tool
, se iniciará en la Terminal con un doble clic en el Finder. También deberá establecer el indicador de ejecución con chmod
, como se describe en la otra respuesta. (Algunos editores de texto, como BBEdit, harán esto por usted cuando guarde el archivo).
Asegúrate de haberlo agregado #!/usr/bin/python
como primera línea y listo.
chmod
contra el archivo es más importante que agregar un .command
sufijo aquí.chmod +x
lo ejecuto.Puede usar PyInstaller, que es un programa gratuito que hace exactamente lo que desea. Como dice el sitio web oficial :
PyInstaller es un programa que congela (empaqueta) programas de Python en ejecutables independientes, bajo Windows, Linux, Mac OS X, FreeBSD, Solaris y AIX. Sus principales ventajas sobre herramientas similares son que PyInstaller funciona con Python 2.7 y 3.3—3.5, crea ejecutables más pequeños gracias a la compresión transparente, es totalmente multiplataforma y utiliza el soporte del sistema operativo para cargar las bibliotecas dinámicas, lo que garantiza una compatibilidad total.
También debo mencionar que puede hacer que un archivo .py sea ejecutable como cualquier otro archivo ejecutable de Linux (Unix), así:
Este comando permite ejecutar el archivo (ver esto )
user@linux~>chmod 0755 myProg.py
y luego ejecutarlo así:
user@linux~>./myProg.py
tecnología