Cómo ejecutar un archivo Python (.py) en Linux

Archivo Python en Linux

En las listas de lenguajes de programación más populares que publican cada año siempre hay hueco para Python. Los motivos pueden ser muchos y muy variados, como por ejemplo su versatilidad o que hay mucha documentación por toda la red, pero el caso es que es una de las opciones a tener en cuenta. Con tanta fama, es probable que a veces nos envíen un archivo Python y no sepamos cómo abrirlo en Linux.

En teoría, abrir un archivo Python en Linux es una tarea sencilla, pero podemos encontrarnos con alguno que no se abra. Si está escrito desde Windows, podría no abrirse haciendo doble clic sobre el archivo .py aunque esté marcado para que se ejecute como un programa. Esto puede pasar porque no es lo mismo escribir el código desde Windows que desde Linux; no se «codifica» igual, pero no es preocupéis porque aquí vamos a explicar cómo ejecutarlos independientemente de cómo se hayan creado.

Ejecutar un archivo Python en Linux desde el terminal

Antes que nada, hablemos de algo. Linux y Windows tienen una estructura de API diferentes, y lo que se crea desde un sistema operativo podría no funcionar en otro. Es algo que no debería pasar, pero pasa. Si algo se ha escrito en, por ejemplo, Visual Studio Code de Windows, podemos volvernos locos para intentar ejecutar el archivo Python en Linux, pero la solución puede ser la más sencilla del mundo: bastaría con «recompilar» el archivo desde Linux, lo que puede ser tan sencillo como copiar todo el código, pegarlo en otro archivo y guardarlo con extensión .py desde nuestro sistema operativo basado en Linux. Con este problema resuelto, seguimos.

En Linux, lo que no suele fallar nunca es hacer las cosas con el terminal. Pare evitar un potencial peligro, merece la pena echar un vistazo al código, para lo que bastará con abrirlo con un procesador de textos como el editor de textos de GNOME o Kate. Por ejemplo, y suponiendo que no entendemos mucho de programación, sí podemos buscar «rm » para asegurarnos de que no va a borrar nada de nuestro disco duro sin nuestro permiso. Cuando estemos seguros de que no es peligroso, o si confiamos en quien nos lo ha pasado, podemos abrir el terminal y escribir «python» (sin las comillas) seguido del nombre del archivo con ruta incluida. Para no equivocarnos, merece la pena escribir «python» (o «python3») y arrastrar el archivo al terminal.

Lo bueno de hacerlo de esta manera es que, si salta alguna excepción (error), la veremos en el terminal, y podremos o bien arreglarla al desarrollador. Lo malo es que, si es una aplicación con interfaz gráfica, veremos dos ventanas, la del terminal en segundo plano y la GUI de la app en el primer plano.

El Shebang y los permisos de ejecución

Si lo que tenemos es algo que funcionará sólo con el terminal, todo esto no es necesario. Basta con hacer lo explicado en el punto anterior. El problema puede venir cuando lo que queremos es ejecutar una aplicación con interfaz de usuario. Para que se abran este tipo de aplicaciones en Linux, lo que tenemos que hacer es ir arriba del todo, a la línea 1, y poner ahí lo que se conoce como Shebang (#!) acompañado de la ruta a python3. La cadena completa sería #!/usr/bin/env python3, aunque en ocasiones también funciona o es necesario quitar la parte de «env» y dejar ahí «python3». Básicamente, esa línea está diciendo qué programa debería encargarse de ejecutar el archivo.

Pero con esto no será suficiente. También tenemos que darle al archivo Python permiso de ejecución, algo que conseguiremos escribiendo chmod +x ruta-al-archivo/archivo.py o con un clic derecho y marcando la casilla en gestores de archivos que lo soporten.

Con los permisos, el Shebang y recordando y arreglando la compilación de otros sistemas operativos si fuera necesario, el archivo .py con interfaz gráfica (que también podemos encontrar como .pyw) debería abrirse con un doble clic. Si no, siempre se puede intentar desde el terminal (o desde el explorador/ejecutar desde el terminal). Eso sí, cuidado con lo que abrimos.

from Linux Adictos https://ift.tt/mcCHZTl
via IFTTT

LANDrop, la mejor alternativa al AirDrop de Apple te permite enviar archivos desde y a casi cualquier aparato

LANDrop en Linux

No quiero mentir a nadie diciendo que uso mucho algo que en realidad uso poco o nada. Cuando quiero enviar archivos pequeños de un aparato a otro, suelo tirar de Telegram, una aplicación de mensajería que está disponible para cualquier dispositivo y que casi siempre tengo abierta. Pero Telegram tiene sus limitaciones, y entre ellas tenemos que el tamaño de los archivos no puede superar los 2GB para los no premium y que la velocidad de la transferencia no es la mejor. Para archivos más grandes ya hay que buscar alternativas, y una de las mejores que he encontrado se llama LANDRop.

Si analizamos el nombre, es fácil entender para qué sirve. LAN se refiere a nuestra red, y Drop no es más el sufijo con el que acaban todas las aplicaciones de este tipo desde que Apple lanzara su AirDrop. Mucho de lo que lanza la manzana está bien, pero sólo es compatible con sus aparatos. De nada me sirve si quiero enviar por mi red un archivo desde mi portátil con Linux. Hay alternativas, pero todas cojean de una pata u otra. O casi todas.

LANDrop mejora el Warpinator de Linux Mint

Ya hace tiempo desde que Linux Mint nos presentó Warpinator. Es una aplicación que sirve justamente para lo mismo, pero ahora mismo no hay versión oficial para Android, ni para Windows. Hay una versión para iOS/iPadOS, pero está en fase beta (sólo disponible vía TestFlight) y tampoco es oficial. Además, Warpinator tira de un montón de dependencias de Python, o nos obliga a instalar una versión flatpak que, si no tenemos otros paquetes instalados, también nos instala algo de más. Por otra parte, podemos tirar de Snapdrop o Sharedrop, un par de opciones que funcionan desde el navegador, pero en ambos casos la velocidad y la estabilidad dejan mucho que desear.

Todos estos pequeños «peros» de disipan si nos decantamos por LANDrop. No es una aplicación que acabe de salir, de hecho ya hace más de dos años que circula por GitHub, pero si es algo que acabo de probar y me ha sorprendido para bien. Para empezar, porque desde su página de descargas podemos bajarnos una AppImage, un solo archivo que funciona de fábrica y sin instalar nada. Para continuar, porque hay aplicaciones para Windows, macOS, Linux, Android y iOS/iPadOS, lo que, con permiso de algunos sistemas menos usados, le hace ser multiplaraforma de verdad.

Cómo funciona

El funcionamiento de LANDrop es similar al de Warpinator u otras herramientas que pretenden enviar archivos por nuestra red. Una vez abierto, y si hemos aceptado los mensajes que pueden salir en algunos dispositivos, veremos quién está conectado a nuestra red. Al hacer clic en enviar (o «send», porque está en inglés), podemos elegir a qué aparato, desde donde tendremos que aceptar el envío. Una vez aceptemos, veremos una barra de progreso que va bastante bien, rápido y sin problemas.

Icono en la bandeja del sistema

La versión para Linux (no he probado en otro sistema operativo de escritorio) se abre en la bandeja del sistema, y es desde este bandeja desde donde gestionaremos los envíos. Los ajustes que podemos retocar son más bien pocos: si difundimos nuestro nombre para que nos puedan descubrir o no, elegir el nombre de nuestro aparato, la ruta de descargas y un puerto. Pero dejándolo todo por defecto, la verdad es que funciona perfectamente.

Cómo instalar LANDrop en Linux

Como hemos mencionado, LANDrop está disponible como AppImage, por lo que se puede usar sin instalar nada. Bastaría con bajarse el archivo y ejecutarlo. Por otra parte, si se prefiere tener la aplicación instalada en el sistema operativo, se puede hacer siguiendo estos pasos:

  1. Se bajan las dependencias. En sistemas operativos basados en Debian, como Ubuntu o Linux mint, se puede instalar lobsodium con el comando:
sudo apt install libsodium-dev
  1. Luego hay que clonar el repositorio e instalar el software escribiendo lo siguiente:
git clone https://github.com/LANDrop/LANDrop
Run the following commands
mkdir -p LANDrop/build
cd LANDrop/build
qmake ../LANDrop
make -j$(nproc)
sudo make install
  1. Se puede ejecutar escribiendo «landrop» o desde el cajón de aplicaciones de la distribución.

Y una vez instalado, da igual a dónde se quiera enviar o recibir los archivos. LANDrop los hará llegar si se está en la misma red.

Página oficial, aquí.

from Linux Adictos https://ift.tt/L1ARUBx
via IFTTT