lunes, 3 de febrero de 2020

Python_1_Configurar_virtualenvwrapper_para_entornos_virtuales.


¿Para qué sirve? R= Nos permite configurar un path donde se alojaran entornos virtuales los cuales se pueden entender como un directorio que contiene una instalación de Python de una versión en particular, esto con el fin de mantener aislada y limpia nuestra instalación Python base y solamente trabajar en dichos directorios con la ventaja que si es necesario instalar una librería especifica y algo falla no vamos a "romper" nuestro sistema principal.

Para poder configurar y usar nuestros entornos virtuales sigamos los siguientes pasos:  

1. Asegúrese de tener instalado pip3

#apt install python3-pip

2. Instale virtualenvwrapper

#pip3 install virtualenvwrapper 

3. Configuremos nuestro .bashrc

#sudo gedit ~/.bashrc

Al final del archivo agrega las siguientes líneas:

export WORKON_HOME = /.virtualenvs
mkdir -p $WORKON_HOME
source ~/.local/bin/virtualenvwrapper.sh

Nota: Si en su distribución virtualenvwrapper.sh no se encuentra en ~/.local/bin/ puede buscarlo de la siguiente manera:

# whereis virtualenvwrapper.sh
virtualenvwrapper: /usr/share/virtualenvwrapper

En mi caso se ubica en /usr/share/virtualenvwrapper, por lo tanto mi configuración queda de la siguiente manera en ~/.bashrc:

export WORKON_HOME=/.virtualenvs
mkdir -p $WORKON_HOME
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

Modo de uso:

1. Creando un nuevo entorno virtual:

#mkvirtualenv -p python3 nuevo_entorno

2. Trabajando en el nuevo entorno virtual:

#workon nuevo_entorno

3. Si todo funciona en la terminal tendremos referencia de que estamos trabajando en el  entorno virtual:

(nuevo_entorno) root@host:/home/usuario# 

domingo, 1 de septiembre de 2019

Instalando librerías python3 en Linux con pip


Actualmente he estado trabajando un poco con Python, mi objetivo es desarrollar un sistema que requiero para el trabajo y en la cual intervienen aspectos tales como visión artificial y un poco de aprendizaje maquina (machine learning). Es necesario hacer notar que tenemos 2 opciones para empezar a trabajar con Python por una parte el instalar anaconda que es una distribución que engloba todo lo necesario para trabajar con la ciencia de datos y por la otra parte realizar la instalación de nuestras dependencias a utilizar mediante el sistema de gestión de paquetes llamado "pip".

En lo personal me decanto por no usar anaconda (Python 3 ya viene instalado por default en Linux) y realizar mi gestión de instalación de dependencias utilizando pip pero bueno ¿cómo se hace esto?....

Si bien es verdad que ya viene pre-instalado Python en Linux también es necesario decir el que vienen 2 versiones diferentes, es decir, Python 2 y Python 3 que si bien la primera aún se conserva a modo de soporte lo más conveniente a mi juicio y creo yo es trabajar con la versión 3, ya que es la que esta en constante desarrollo y la versión 2 digamos "va de salida".

Por eso al hacer uso de los siguientes comandos se debe de diferenciar para que versión de Python se esta realizando la instalación... pero bueno abramos nuestra terminal y escribamos lo siguiente:

#apt install python3-pip 


Una vez que se halla instalado el paquete en cuestión ya podemos hacer uso del gestor de paquetes y para ello las funciones básicas son las siguientes:


Buscar paquete:

#pip3 search 



Ejemplo

#pip search opencv-python

opencv-python (4.1.0.25)                         - Wrapper package for OpenCV


Para instalar paquete:
# pip3 install 

Ejemplo

#pip3 install scikit-image opencv-python imutils

Collecting scikit-image
Downloading https://files.pythonhosted.org/packages/d4/ab/674e168bf7d0bc597218b3bec858d02c23fbac9ec1fec9cad878c6cee95f/scikit_image-0.15.0-cp36-cp36m-manylinux1_x86_64.whl (26.3MB

    100% |████████████████████████████████| 26.3MB 35kB/s 


Finalmente para desinstalar paquete:

# pip3 uninstall 









sábado, 17 de agosto de 2019

Retomando el Blog 9 años despues

Hace casi una década inicie este blog, por aquellos días y en un inicio era un estudiante que si bien existía la presión de sacar la carrera me daba tiempo para experimentar y al mismo tiempo aprender con Linux, al principio posteaba mucho (cada cosa nueva que descubrí) sin embargo el tiempo fue pasando muchas cosas sucedieron... como que me casé, nació mi hijo y poco a poco se me fue limitando el tiempo que tenía disponible para escribir cosas nuevas en el blog, ya que tenía otras prioridades; sin embargo seguía haciendo uso de Linux y por que no decirlo fue un plus para mi a nivel laboral.

Pero realmente ¿cual es mi profesión?, pues han de saber que me denomino como ingeniero mecatrónico diferido ya que soy técnico superior universitario en mecánica y también ingeniero en desarrollo de software y por ironía de la vida mi mayor experiencia laboral se centra en el ramo de electrónica y telecomunicaciones ¡¡valla combinación!! Y modestia aparte creo que me consideran bueno en lo que hago.... entonces lo mismo ha sucedido el que he reparado motherboards, programado PLC, creado software para necesidades del trabajo y que he realizado algunos proyectos de automatización (también vendo mole los domingos y hago hablar pericos).

Pero ante todo y debo decir que el pingüino me ha dado de comer y no me quejo...pero ante todo este choro preguntaran ¿y por qué volver a escribir en este blog más que abandonado? Pues bueno, creo que para aliviar mi stress laboral y como modo de distracción, espero que lo que escriba sirva para algunos de aprendizaje o de referencia, pienso ponerme al día con las entradas, tal vez responda preguntas viejas aunque... creo que para los lectores iniciales ya no tendrá mucho caso, sin embargo la información puede servir para aquellos que entran o caen por primera vez aquí.

Ahora mis intereses han cambiado y estoy tratando de entrar al mundo del machine learning, de la visión artificial etc, podrán ver algunas post también (bueno en eso ando apenas).... en fin ya veremos que sale de todo esto mientras tanto ¡¡Bienvenidos de nuevo!!  Y aprendamos cosas nuevas.

Solución a PCIe Bus error severity=Corrected


Siempre había querido tener una laptop Asus, es una marca que en lo personal siempre me ha gustado y lo primero que hice cuando por fin pude conseguir una fue obviamente cargar Linux y ver que tan bien era el rendimiento de mi nueva portátil.


Termine de realizar mi instalación y de pronto me percaté que el equipo se quedaba pasmado, con miedo de que mi nueva adquisición hubiese sido un error (la verdad que no chequeé nada de compatibilidad del equipo con Linux) me puse a buscar registros y me encontré con el que se manifestaba la siguiente problemática:


[   23.252459] pcieport 000:00:1d.2: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=00ea-(Receiver ID)



Al parecer tenía un problema con algún dispositivo en el bus PCI que me estaba pasmando el equipo ya que en segundo plano no se paraba de enviar este mensaje así que algún elemento de hardware o tenía un problema o de plano no estaba soportado por el sistema operativo.

Después de mucho investigar al parecer el error tiene que ver con el procesador (Un Skylake Intel® Core™ i3-6006U) que mientras se corrige esta situación (al parecer ya identificado en las listas de correo de desarrollo del kernel) se tiene que hacer una pequeña trampa para evitar el que el equipo tenga mal funciones.

Bueno, ¿cómo se hace esto? El truco consiste en deshabilitar los informes de error del kernel que si bien hasta ahora dicho sea de paso trabajo sin problemas y con una velocidad más rápida que con Windows 10 (Sistema que esta cargado conjuntamente por cuestiones de mi trabajo), no he notado mayores problemáticas al punto de que me atrevo a recomendar esta solución pero bueno...esto es lo que se debe de hacer.

Abrimos un terminal y vamos a editar como super usuario el archivo de configuración grub.

#sudo gedit /etc/default/grub
 
En la línea marcada como:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
 
Vamos a poner lo siguiente:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"

Guardamos y salimos del editor y una vez que se halla hecho esto ejecutamos los siguientes comandos:
 
update-grub & update-initramfs -u

Finalmente reiniciamos la máquina y listo adiós equipo pasmado y mensajes de error

miércoles, 14 de agosto de 2019

bitMe el nuevo canal de TV de Televisa para el publico geek



 Mañana se cumple un mes del lanzamiento del nuevo canal de Televisa llamado bitMe, el cual cubre un segmento bastante descuidado en México con respecto a a contenido dirigido al publico geek, entiéndase videojuegos, tecnología, anime y temas de actualidad.

En lo personal me ha dejado un buen sabor de boca ya que he podido revivir mi infancia viendo clásicos de anime como Mazinger z, Saint seiya (Aca en México Los caballeros del zodiaco), e incluso ver revisiones de videojuegos, juguetes y series retro. La verdad considero que esta bien armado y los conductores cubren un rango generacional muy amplio, ya que existen personalidades con años de experiencia en la industria como es el ya conocido Gus Rodriguez y su hijo "el chavo" y otros mas chavitos que la verdad lo hacen bastante bien y encuentro a varios divertidos.

Obviamente esto apenas despega y espero que se ponga aun mejor, en lo personal pienso que deben de incluir al segmento de jugadores de PC, ya que si hubiese un programa donde se realicen reviews de hardware y configuraciones... que por lo menos no he visto hasta ahora y si ya se que es difícil o imposible por muchas cuestiones, creo que estaría de lujo (Por lo menos me conformo con review de graficas).

Actualmente veo este canal en mi servicio izzi en el canal 863, al parecer el canal también estará disponible con otros proveedores y países, por lo cual muy probablemente tendrán varias opciones para verlo.
  



sábado, 10 de agosto de 2019

Como instalar Docky en Debian (Buster) 10



Definitivamente no hay una compilación para Debian 10 del lanzador de aplicaciones o dock llamado docky, sin embargo se puede instalar usando los paquetes de debian 9 (stretch) para hacer esto vaya hasta el sitio donde esta albergado el paquete docky y sus dependencias y descargue las siguientes dependencias:



  • docky_2.2.1.1-1_all.deb
  • libgconf2.0-cil_2.24.2-4_all.deb
  • libgnome-keyring0_3.12.0-1+b2_amd64.deb
  • libgnome-keyring1.0-cil_1.0.0-5_amd64.deb
  • libgnome-keyring-common_3.12.0-1_all.deb 
Una vez realizado esto ubiquese en el directorio donde se encuentren los paquetes y ejecute el siguiente comando:

      # dpkg -i *.deb



 

sábado, 30 de septiembre de 2017

Flatpak el futuro de la distribución de aplicaciones

Flatpak es una tecnología que promete ser el futuro en la distribución de aplicaciones, es decir permite el poder instalar una aplicación de manera completa sin el problema que conlleva muchas veces el no tener las dependencias (paquetes, librerías etc) completas en el sistema. 

De esta manera las aplicaciones distribuidas en Flatpak vienen con todas las librerías necesarias para ser ejecutados, lo que permite por ejemplo el poder tener la ultima versión de un software que quizás en nuestra distribución no es soportada de manera tradicional.

Por ejemplo, hace unos días después de haber instalado Monodevelop 5.10 el cual me lanzaba un error (Unknown MSBuild failure. Please try building ...) opte por instalar la ultima compilación de este programa mediante Flatpak, de esta manera pude constatar que sin problema puedo ejecutar el ultimo build (7.1.) en Ubuntu 16.04.

Una ventaja adicional que nos ofrece esta tecnología es el hecho de que las aplicaciones usan sandboxing es decir la aplicación implementa el aislamiento de procesos, de esta manera al ejecutarse el programa de manera separada al sistema, evitamos problemáticas de posible distribución de código malicioso.

Para obtener soporte para Flatpak en nuestra distribución solo hay que ejecutar el siguiente comando:


Fedora:
 
$ sudo dnf install flatpak


Ubuntu:

$ sudo add-apt-repository ppa:alexlarsson/flatpak

$ sudo apt update
 
$ sudo apt install flatpak 


Open suse

$ sudo zypper install flatpak

¿Probar la ultima versión de Monodevelop vía Flatpak?, solo ejecutar en terminal (como usuario normal):

$ flatpak install --user --from https://download.mono-project.com/repo/monodevelop.flatpakref

 Para ejecutar el programa (desde terminal como usuario normal):
 
$ flatpak run com.xamarin.MonoDevelop 
 
 

Python_1_Configurar_virtualenvwrapper_para_entornos_virtuales.

¿Para qué sirve? R= Nos permite configurar un path donde se alojaran entornos virtuales los cuales se pueden entender como un directorio q...