¿Cómo ejecutar un programa Python directamente?
He creado un archivo .py (por ejemplo, mnik.py ) en gedit. Funciona sin problemas en la terminal.
El comando va
python3 mnik.py
Pero cada vez que hago clic en el archivo, se abre con gedit. No puedo ejecutarlo directamente haciendo clic.
¿Qué hacer?

python3en la línea de comando con un argumento es una excelente manera de ejecutar scripts de Python. De hecho, es la forma más fácil de ejecutar un programa que requiere un terminal y argumentos (como muchos de mis propios guiones, sino también programas comomercurial,sphinx). ¿Quiere explicar por qué lo que he estado haciendo durante más de 20 años no es la forma correcta?./scriptnameque se ejecute un script de Python no valida su afirmación de que ejecuta un script desde la línea de comandos mediantepython3. Hay diferentes formas de ejecutar scripts de Python y hacerpython3 ./mnik.pytambién es una forma adecuada de hacer las cosas, es simplemente diferente (y al menos obtienes Python3 de esa manera y no Python2, ya que es más probable con la mayoría de las respuestas hasta ahora)Respuestas:
Hay dos cosas necesarias.
- Un script debe tener una

- Finalmente, asegúrese de que su archivo en sí tenga permisos ejecutables establecidos. En la terminal que puede hacer


Nota sobre la línea shebang#!línea que le indique al sistema operativo qué intérprete usar. En su caso, su primera línea en el código debe ser#!/usr/bin/env python3Debe abrir el administrador de archivos, vaya a Editar -> Preferencias -> Comportamiento, y seleccione qué hacer con los archivos ejecutables
chmod +x /path/to/script.pyy en la GUI, haga clic derecho en el archivo y modifique sus Propiedades -> PermisosLa primera línea se llama línea shebang y debe comenzar con
#!; lo que viene después es el nombre del intérprete que leerá su código. En caso de que lo esté usandopython3, puede usarlo#!/usr/bin/python3o#!/usr/bin/env python3para portabilidad. Si no está utilizando código que sea específico para la versión de Python, simplemente use#!/usr/bin/env pythonNota sobre la salida del script:
Si su script imprime la salida a la consola, necesitará tener una ventana de terminal o, alternativamente, usar diálogos de GUI como
zenity. Prefiere usar laRun in Terminalopción si quieres ver el código. Si desea que el script haga algo sin ver la salida de la consola, use laRunopción.Además, si tiene parámetros de línea de comandos, como
sys.argv[1]en el script, no puede configurarlos a menos que tenga abierta la ventana de terminal.fuente
Filesprograma en el lanzador. En Windows-Hablar sería explorador de archivos oMy Computernautilusen el Terminal#!(shebang) en los scripts de Python, y qué forma debería tomar?#!/usr/bin/env pythoninvocará Python2 en la mayoría de los sistemas Ubuntu. Aunque puede hacer que un script de Python escrito para Python3 sea compatible con Python2, no supondría que el OP lo haya hecho.#!/usr/bin/env python3parece un shebang más apropiadoDebe colocar la ubicación del programa para ejecutar su código en la primera línea y luego debe configurar el script para que se ejecute como un archivo ejecutable cambiando sus permisos. Esto supone que está iniciando sus aplicaciones desde la terminal u otro script.
Encuentra tu instalación de Python
Agregue la ubicación de los programas a la línea superior de su programa con un
#!frenteEstablecer el script de Python para tener derechos de ejecución
Ahora puedes ejecutar el script directamente
Listado de código para test.py
fuente
Si desea ejecutar este programa sin escribir
python3 mnik.py, debe hacer que el script sea ejecutable y asegurarse de quepython3se utiliza para ejecutarlo.Lo primero que puedes hacer corriendo
lo segundo que puede hacer agregando como primera línea de un script una línea shebang que invoca python3 . En todos los sistemas Ubuntu con los que he trabajado que vienen con python3, puede obtener python3 agregando esta línea en la parte superior:
Después de esos dos cambios, puede escribir
/path/to/mnik.py,./mnik.pyo simplementemnik.py(el último requiere que el script esté en su RUTA).Si realiza estos cambios es posible que también desee considerar el cambio de nombre
mnik.pyamnik, que es una práctica común con los paquetes de Python con los comandos que se publican en PyPI.fuente
/desaparecido en el frente allí. Por favor explique qué es "It" en su comentario. ¿Es el bash shell? ¿Es Windows Command.com? ¿Desde qué invoca el programa y con qué sintaxis de línea de comandos?