domingo, 29 de diciembre de 2019

¿Cómo instalo pip en Ubuntu 18.04LTS?

Durante su ostracismo español Juan Perón emprendió una intensa comunicación multimedial - que abarcaba epístolas, télex, cintas magnetofónicas y películas cinematográficas - y que le permitió digitar acciones tendientes a su Retorno. En una de dichas epístolas remitidas al Sindicato de Jaboneros y Perfumistas, enseñó cómo instalar Pyhton PIP en Ubuntu.


¡Trabajadores!

Por intermedio de unos compañeros de la industria del vidrio he recibido vuestra pieza del 19 del presente, que atino a responder in situ para que les llegue de vuelta.

Las recomendaciones para la lucha que me solicitan en este caso sólo pueden ser generales. Es una inquietud natural de una industria de suma importancia como lo es la de los jabones y los perfumes, cuando me planteen la conflagración armada en la superficie, y el ajusticiamiento subrepticio de oligarcas. Sin embargo, no es este el tiempo de iniciar tales predicamentos, ni lo podremos hacer con perfumes. Tal tiempo llegará y no serán pocos los que hagan tronar el escarmiento.

Día a día recibo numerosas piezas de este tenor desde la Argentina e incluso paquetes. Esto me tiene perfectamente al tanto de lo que sucede y me permite configurar un Movimiento vibrante y deseoso de continuar la lucha. En ello hemos de obrar cada uno en su puesto y con miras a un objetivo común: la grandeza de la Patria y la felicidad de su Pueblo Trabajador.

Si no hubiese sido por un administrador de paquetes de excelente factura, poco habría podido hacer para coordinar todos los esfuerzos. Pues sí señores, gran parte del software que recibo y envío está preparado en lenguaje Python, el nuevo BASIC capaz de correr en todo tipo de máquinas. Y para gestionar su operación, es importante el uso del gestor de paquetes propio que este lenguaje dispone de facto: el pip. Se trata de un instalador de paquetes Python ampliamente difundido y popular. Fue creado para ser una mejor alternativa que el viejo easy install, al cual ha terminado suplantando.

Permite instalar y administrar paquetería libre adicional de PyPi que no son parte de la librería estándar de Python. Esta biblioteca de programas hobbistas presentan una excelente oportunidad para resolver algunos problemas cotidianos por medio de software empaquetado gratuito, y por lo tanto, al alcance de todos.

En la medida que la comunidad organizada de Python se hizo cualitativamente mayor, más y más partes de Ubuntu mutaron a dicho lenguaje. El por dicha razón doctrinaria que Python 2 conforma ahora parte fundamental de la instalación estándar de Ubuntu. A pesar de que Python 3 tiene muchas ventajas sobre Python 2, este último sigue siendo una dependencia crucial del sistema. Es por ello que remover Python 2.7 del cimiento de Ubuntu 18.04 puede causar muchos problemas a largo término y provocar un casi derrumbe de esta infraestructura programática. Debe evitarse en la medida de lo posible hasta que pase un buen tiempo y Python 2 deje de tener el sentido que aún conserva.

Ubuntu 18.04LTS incluye tanto Python 2 y Python 3 preinstalados. Una instalación de pip funciona con sólo una distribución de Python por vez, de modo que ha sido necesario separar pragmáticamente tanto los comandos que invocan a pip como la instalación en si misma. Por ejemplo, el comando pip por defecto lanzará a pip para Python 2 mientras que el comando pip3 lanzará a pip para Python 3.

Instalar pip3 y pip desde el Repositorio de Ubuntu

Comenzaremos actualizando nuestro repositorio de sistema, como suele ser reglamentario. Para ello abrimos una Terminal con Ctrl+Alt+T y le ingresamos el siguiente Comando de Organización:

sudo apt update

Acto seguido, ingresaremos el el segundo comando, encargado de instalar pip para Python 3 (referido como pip3) y pip para Python 2 (referido simplemente como pip), así como sus demás dependencias necesarias entre ellos:

sudo apt install python3-pip python-pip -y

Una vez que la instalación se haya finalizado, revisaremos y verificaremos que tanto pip como pip3  hayan quedado instalados exitosamente y respondan a la órden básica. Para ello utilizaremos:

pip --version
pip3 -version

Ambos comandos nos devolverán el número y ruta de las versiones de Python instaladas. Tengamos presentes que el número de versión indicado naturalmente puede variar dependiendo de lo actualizado que esté el repositorio, pero podría indicar algo como esto:

pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

Instalar pip independientemente empleando el script oficial de instalación

Si bien el método indicado arriba es veloz y sencillo, existe otro método oficial que emplea el guión provisto por el equipo de desarrollo de pip. Inicialmente habremos de verificar que nuestro sistema no cuente ya con una instalación previa de pip. Ello lo haremos con:

pip --version

Y el sistema debería devolver:

pip: órden no encontrada

Intente: sudo apt install

Luego descargue el guión de instalación mediante el siguiente comando:

wget https://bootstrap.pypa.io/get-pip.py

Proceda a utilizar la versión de python que desee para ejecutar el guión. Debemos tener cuidado ya que guión no coordina bien con la versión de pip preinstalada y puede provocar conflictos si hacemos que get-pip.py se instale sobre una versión anterior.

Por ejemplo, el comando para instalar pip para Python 3 en todo el sistema será:

sudo python3 get-pip.py

...en cambio, si deseamos instalar pip para Python 3 sólamente para su usuario actual, debería utilizar el comando:

python3 get-pip.py --user

De forma similar opera el comando pip para Python 2. El comando para sistema completo debería ser:

sudo python get-pip.py

...en tanto que el comando para instalarlo únicamente para su usuario actual será:

python get-pip.py --user

Empleo básico de pip

Pip hace que instalar aplicaciones de paquetes de terceros sea muy sencillo. Una de las funcionalidades básicas es instalarlos con el siguiente comando:

pip install nombre_del_paquete

Para quitar el paquete Python, usaremos:

pip uninstall nombre_del_paquete

Buscar librerías
Podríamos iniciar un navegador y buscar los paquetes en el sitio web oficial de PyPI, pero también podremos utilizar nuestra línea de comandos. Un ejemplo, buscaremos un paquete relacionados a las "cameras". El comando search nos mostrará una extensa lista similar a la siguiente:

pip search cameras

...y pip nos devolverá algo como:

ybc-camera (1.0.5)                       - ybc camera
camera-fusion (0.0.8)                    - Multiple cameras calibration and fusion with OpenCV Python.
camera-discovery (1.0.11)                - A package to discover all onvif cameras on your network
camera (1.3.0)                           - A Python module to use a PiCamera easily
big-fiubrother-camera (0.3.0)            - Big Fiubrother Camera application
zorg-network-camera (0.0.3)              - A module which includes various network camera utilities.
django-camera-imagefield (0.2)           - A Django widget for using a device's camera to get an image to upload
scan-camera (0.0.5)                      - A scanner that could scan all the ip off the world
cameras-cli (1.0.1)                      - Cameras CLI
ONVIFCameraControl (1.0.6)               - Simple camera controls.
pygame_camera (0.1.1)                    - A Camera lib for PyGame
netsurv (0.1.5)                          - Configure IP cameras.
django-milcam (0.3.1)                    - Military Camera project
digimat.ipcamera (0.1.4)                 - Digimat IP Camera
motmot.fview (0.6.8)                     - extensible camera viewer program (part of the motmot camera packages)
sonycam (0.1.0)                          - Interfacing Sony cameras featuring the Sony Camera Remote API
campi (0.1.2)                            - Camera server and client software for Raspberry Pi beam profiling camera
cctvproxy (0.1.1)                        - CCTV camera image proxy
gamecam-sdrabing (0.8.3)                 - Remote-camera software suite.
pyobs-sbig (0.8.1)                       - pyobs module for SBIG cameras
pyobs-fli (0.8)                          - pyobs component for FLI cameras
pixelink (1.4.0)                         - A Python driver for the PixeLINK camera
onvif-zeep (0.2.12)                      - Python Client for ONVIF Camera
adafruit-circuitpython-mlx90640 (1.0.1)  - Driver for the MLX90640 thermal camera
(...)


Instalar dependencias en lotes
El código Python distribuido en línea a menudo incluye un archivo requirements.txt, en el cual se declaran cuáles son las dependencias del programa. Si encontramos este archivo, podremos ejecutar este comando para instalar todas las dependencias a la vez en lugar de ejecutar pip install individualmente.

pip install -r requirements.txt

Mostrar qué archivos se han instalados y sus rutas

En ocasiones, podríamos querer analizar el código del paquete instalado. Ello es posible gracias a la condición libertaria del Software que propugnamos, y a este comando que se encarga específicamente de ello:

pip show --files paquete_instalado

...el sistema debería devolvernos algo como:


Name: paquete_instalado
Version: 1.0
Location: /my/env/lib/pythonx.x/site-packages
Files:
  ../paquete_instalado/__init__.py
  [...]

Conclusión

Naturalmente, ahora tenemos un entendimiento iluminado de cómo proceder a instalar este gestor de paquetes, que nos vendrá de perillas. Si deseamos contar con su guía de usuario específica, podremos encontrarla en el idioma de Braden aqui.

2 comentarios:

  1. Buen domingo General!
    Que opina sobre la posibilidad de liberar el codigo del firmware en linux de este receptor satelital:
    https://ftapinamar.blogspot.com/2019/04/unboxing-azamerica-king-3.html
    Saludos cordiales,

    Dario

    ResponderEliminar
    Respuestas
    1. Estimado Anónimo:

      Normalmente dichos receptores emplean software bajo licencia GPL. En tal caso el código fuente debería estar disponible en la web del fabricante.

      Atte.

      Juan Perón

      Eliminar