Com executar un fitxer Python (.py) a Linux

Arxiu Python a Linux

A les llistes de llenguatges de programació més populars que publiquen cada any sempre hi ha lloc per a Python. Els motius poden ser molts i molt variats, com ara la seva versatilitat o que hi ha molta documentació per tota la xarxa, però el cas és que és una de les opcions que cal tenir en compte. Amb tanta fama, és probable que de vegades ens enviïn un arxiu Python i no sapiguem com obrir-lo a Linux.

En teoria, obrir un fitxer Python a Linux és una tasca senzilla, però podem trobar-nos amb algun que no s'obri. Si està escrit des de Windows, podria no obrir-se fent doble clic sobre el fitxer .py encara que estigui marcat perquè s'executi com a programa. Això pot passar perquè no és el mateix escriure el codi des del Windows que des del Linux; no es «codifica» igual, però no us preocupeu perquè aquí explicarem com executar-los independentment de com s'hagin creat.

Executar un fitxer Python a Linux des del terminal

Primer de tot, parlem d'alguna cosa. Linux i Windows tenen una estructura d'API diferents, i allò que es crea des d'un sistema operatiu podria no funcionar en un altre. És una cosa que no hauria de passar, però passa. Si alguna cosa s'ha escrit a, per exemple, Codi de Visual Studio de Windows, ens podem tornar bojos per intentar executar l'arxiu Python a Linux, però la solució pot ser la més senzilla del món: n'hi hauria prou amb «recompilar» l'arxiu des de Linux, cosa que pot ser tan senzilla com copiar tot el codi, enganxar-lo en un altre fitxer i guardar-lo amb extensió .py des del nostre sistema operatiu basat en Linux. Amb aquest problema resolt, seguim.

A Linux, el que no sol fallar mai és fer les coses amb el terminal. Per evitar un potencial perill, val la pena fer una ullada al codi, per la qual cosa només cal obrir-lo amb un processador de textos com el editor de textos del GNOME o Kate. Per exemple, i suposant que no entenem molt de programació, sí que podem buscar «rm» per assegurar-nos que no esborrarà res del nostre disc dur sense el nostre permís. Quan estiguem segurs que no és perillós, o si confiem en qui ens ho ha passat, podem obrir el terminal i escriure python (sense les cometes) seguit del nom del fitxer amb ruta inclosa. Per no equivocar-nos, val la pena escriure python (o python3) i arrossegar el fitxer al terminal.

El millor de fer-ho d'aquesta manera és que, si salta alguna excepció (error), la veurem al terminal, i podrem o bé arreglar-la o bé donar-li el feedback al desenvolupador. El pitjor és que, si és una aplicació amb interfície gràfica, veurem dues finestres, la del terminal en segon pla i la GUI de l'app al primer pla.

El Shebang i els permisos d'execució

Si el que tenim és una cosa que funcionarà només amb el terminal, tot això no cal. Només cal fer el que hem explicat al punt anterior. El problema pot venir quan el que volem és executar una aplicació amb interfície dusuari. Perquè s'obrin aquest tipus d'aplicacions a Linux, el que hem de fer és anar a dalt de tot, a la línia 1, i posar-hi el que es coneix com shebang (#!) acompanyat de la ruta a python3. La cadena completa seria #!/usr/bin/env python3, encara que de vegades també funciona o cal treure la part d'env i deixar-hi python3. Bàsicament, aquesta línia està dient quin programa s'hauria d'encarregar d'executar el fitxer.

Però amb això no n'hi haurà prou. També hem de donar a l'arxiu Python permís d'execució, cosa que aconseguirem escrivint chmod +x ruta-al-archivo/archivo.py o amb un clic dret i marcant la casella en gestors de fitxers que el suportin.

Amb els permisos, el Shebang i recordant i arreglant la compilació d'altres sistemes operatius si fos necessari, el fitxer .py amb interfície gràfica (que també podem trobar com a .pyw) s'hauria d'obrir amb un doble clic. Si no, sempre es pot intentar des del terminal (o des del navegador/executar des del terminal). Això sí, compte amb el que obrim.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.