Mostrando las entradas con la etiqueta screen. Mostrar todas las entradas
Mostrando las entradas con la etiqueta screen. Mostrar todas las entradas

2014-05-27

Scl, gnu-screen, flask y python 2.7

Update (2014-05-28): Quiero aclarar que si sólo instalo python y screen me muestra la versión de python 2.7 en el shell corriendo adentro del screen.

Arranco en AWS desde 0 con un AMI de un RHEL 6.5, RHEL-6.5_GA-x86_64-7-Hourly2 (ami-aa8bfe9a). Instalo python 2.7, screen, pip y flask usando pip.

$ sudo yum -y install python27
$ sudo yum -y install screen
$ sudo scl enable python27 "easy_install pip"
$ sudo scl enable python27 "pip install flask"

Activo un shell con python27 y corro python

$ scl enable python27 bash
$ python --version
Python 2.7.5

Y veo que configuró la carga de bibliotecas para cargar las libs de python 2.7.

$ echo $LD_LIBRARY_PATH

/opt/rh/python27/root/usr/lib64


Pero, si hago lo mismo en un screen:

$ scl enable python27 bash
$ python --version

python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

Y no tiene configurada la carga de bibliotecas para cargar las libs de python 2.7.

$ echo $LD_LIBRARY_PATH


(no aparece nada :-( )

¿Alguien sabe que está pasando? ¿Qué hice mal?

Happy hacking, 
Aureliano.

2014-04-08

scl y screen

En RedHat existe un mecanismo para tener en el mismo host diferentes versiones del mismo software que se activa corriendo desde línea de comando. Por ejemplo, para activar python27 (en vez del 2.7, default de la distro) hay que correr scl enable python27 bash.

El problema es que si después corrés screen, ese seteo no pasa en forma limpia al shell que corre adentro del screen. Por lo tanto, lo que hay que hacer es hacer el enable "adentro" del screen. Por ejemplo, para correr un bash en screen con soporte para python 2.7 hay que correr screen scl enable python27 bash

La idea de cómo hacer esto la saqué de la documentación de CentOS. Busquen "coreutils component" dentro de la página para ver el detalle.

Happy hacking,
Aureliano.