Hacer ejecutable un programa Python desde su icono

Hacer ejecutable un programa Python desde su icono

Deseo que los programas de Python se ejecuten en una ventana haciendo clic en un icono.

Este es el primer día en el que enseño yo mismo el tipo de codificación y Ubuntu, por lo que se agradecen las explicaciones excesivas y los detalles adicionales.

Ejemplo de código que estoy usando

print("Game Over")
input("\n\nPress the enter key to exit")

Se ejecuta correctamente en IDLE, pero cuando hago clic en el ícono del archivo .py, se abre un editor en lugar de un programa/ventana.

Pasos que he hecho hasta ahora

  • Hice clic derecho en el archivo .py y configuré permisos para "permitir la ejecución del archivo como programa"
  • Leí todo lo que pude y parece indicarme información que está por encima de mi cabeza.

Ejemplos

#!/usr/local/bin/python
#!/usr/bin/env python
CHMOD X

Ninguno de los cuales entiendo o sé dónde utilizar.

Estoy usando Ubuntu 14.04 y Python 3

Gracias de antemano.

Respuesta1

Aunque su pregunta puede estar al límite por más de una razón (demasiado amplia, fuera de tema, más de un tema por pregunta, al borde de una cantidad de casi duplicados), responderé las preguntas.

La primera pregunta: acerca de ejecutar un script (solo texto) "desde un ícono", como lo mencionas:

  • Su secuencia de comandos es solo de texto y debe ejecutarse en Idleuna ventana de terminal. Eso significa que si desea ejecutarlo haciendo doble clic en un icono, deberá crear un .desktoparchivo, en el que se encuentradefinidopara ejecutar el script dentro de una ventana de terminal. Por cierto,
    estos archivos forman parte de prácticamente todas las aplicaciones GUI instaladas en Ubuntu..desktop

    Un ejemplo muy básico, adecuado para su guión:

    [Desktop Entry]
    Name=Test
    Exec=/home/jacob/Bureaublad/test.py
    Terminal=true
    Type=Application
    

    Las líneas más interesantes son:

    Exec=/home/jacob/Bureaublad/test.py
    

    en el que se define el comando para ejecutar su script.
    Lea más sobre cómo crear el comando, si el script es ejecutable o no, usando la extensión de idioma shebang, consulteaquí.

    y la línea:

    Terminal=true
    

    Eso dice que el script debe ejecutarse en una ventana de terminal.

    Puede ampliar su .desktoparchivo con un ícono y muchas más opciones, dependiendo de para qué lo esté usando exactamente, consulteaquí.

  • Cómo utilizar el .desktoparchivo

    • Pegue el código anterior en un archivo vacío y guárdelo como test.desktop. Edite el comando en la línea Exec=/home/jacob/Bureaublad/test.py, de acuerdo con el enlace que agregué para crear comandos para ejecutar un script.
    • Si usa el archivo desde su escritorio, hágalo ejecutable con el comando:

      chmod +x /path/to/Test.desktop
      

    Alternativamente, puede copiar (mover) el .desktoparchivo para ~/.local/share/applicationsque esté disponible en Dash. Las aplicaciones instaladas globalmente almacenan sus .desktoparchivos en formato /usr/share/applications. En los dos últimos directorios, no es necesario que el .desktoparchivo sea ejecutable.

Acerca de las líneas de ejemplo que no entiendes

  • Las líneas:

    #!/usr/local/bin/python
    #!/usr/bin/env python
    

    sonshebangs; la primera línea de un script, indicando al shell cómo ejecutarlo si el script es ejecutable, y usted lo ejecuta sin pythonantes la ruta al script. Dado que usas python3, el shebang en tus scripts normalmente debería ser:

    #!/usr/bin/env python3
    

    Más sobre esto y la relación entre shebang y comando en el enlace de arriba.

  • CHMOD X (?) chmod +xEs probablemente lo que quieres decir. Como se explicó anteriormente, puede hacer que un archivo sea ejecutable con el comando:

    chmod +x /path/to/file
    

Respuesta2

Como mencionaron otros, chmod +x es necesario para que el programa sea ejecutable. Por ejemplo, para el programa hello.py, ingresarías esto en la terminal:

$ chmod +x hola.py

Ahora, no sé si es cierto en versiones anteriores, pero en Ubuntu 16.04 LTS es necesario que el comportamiento de los íconos esté configurado para permitir hacer clic en el ícono para ejecutar el programa. Puedes hacer esto de la siguiente manera:

Vaya a una ventana del explorador de archivos, luego mueva el cursor del mouse a la parte superior de la pantalla y seleccione editar > preferencias > comportamiento, luego seleccione 'Ejecutar archivos de texto ejecutables cuando se abran' o 'Preguntar cada vez'.

Además, para evitar que la terminal se cierre al final del programa (por ejemplo, si desea mantener la salida del programa a la terminal en la pantalla), en Python3.5 debe colocar esta línea al final del programa. :

aporte()

Espero que esto ayude.

Respuesta3

Escriba un archivo .bat, que se ejecuta en el símbolo del sistema. En el archivo, escriba solo una línea como: C:/Python/Python38/python.exe c:/MyProject/mainFile.py

Donde, C:/Python/Python38/python.exe es Python 3.8 y c:/MyProject/mainFile.py es el archivo de script de Python que se ejecutará.

Cree un acceso directo al archivo .bat y colóquelo en la pantalla de Windows como un icono. Eso es.

información relacionada