Psicofonías

(algo así como el blog de Psicobyte)

Entornos virtuales en Python con virtualenv

En ocasiones, necesitamos tener varios entornos de trabajo distintos, con distintas versiones del intérprete, distintas librerías, etc.

Una de las soluciones más comunes es usar varios ordenadores o varias máquinas virtuales, cada una con una instalación diferente.

Pero Python nos provee de una herramienta simple y útil para facilitarnos ese trabajo, sin necesidad de recurrir a soluciones más complicadas. Esta herramienta es "virtualenv".

virtualenv es un programa que permite crear entornos virtuales de Python. Un entorno virtual consta de un intérprete (podemos elegir la versión concreta) acompañado de todos los módulos que necesitemos instalar. Se pueden tener varios entornos distintos, instalando en cada uno los módulos que necesitemos, sin que unos entornos afecten a los otros.

Vamos a verlo de forma práctica.

Para empezar, necesitamos instalar la propia aplicación virtualenv. Esto se puede hacer desde el gestor de paquetes de tu distribución (apt-get, emerge, yum, pacman...) o, de manera más general, con pip (en cualquier caso, hacen falta permisos de superusuario):

pip install virtualenv

Tras esto, ya tendremos el programa instalado y podemos comenzar a usarlo.

En Python 3 nos podemos ahorrar el paso de la instalación, porque ya viene por defecto.

virtualenv guarda cada entorno virtual en un directorio con el nombre de ese entorno. Dentro de ese directorio se guardarán todos los archivos necesarios (de ellos nos interesan, en particular, los módulos que instalemos en el entorno y el script que lo inicia).

Es una buena idea tener en tu home un directorio donde agruparemos todos los entornos virtuales. En mi caso, en una escandalosa falta de originalidad, ese directorio se llama "virtualenvs".

Crear un entorno virtual es muy simple, del siguiente modo:

virtualenv DIRECTORIO-DEL-ENTORNO-VIRTUAL

Por ejemplo:

virtualenv nuevo-entorno

O, en mi caso, que estoy usando ese directorio llamado virtualenvs que ya he comentado para agrupar todos mis entornos:

virtualenv virtualenvs/nuevo-entorno

Al hacerse en espacio del usuario, ni la creación de un entorno virtual ni (como veremos más adelante) la instalación de paquetes en él, necesitan permisos especiales.

Esto crea el nuevo entrono en el directorio que le hemos indicado, creando en él una estructura de directorios, copiando allí el ejecutable de Python y otros archivos necesarios, e incluyendo algunos módulos por defecto (en realidad, la mayoría de ellos son enlaces simbólicos a los originales, a menos que usemos la opción --always-copy, que cambia este comportamiento).

Para que virtualenv nos dé más detalles durante la creación de nuestro entorno, podemos usar la opción --vervose (o -v en su versión corta):

virtualenv --vervose virtualenvs/nuevo-entorno

Si necesitamos que nuestro entorno virtual ejecute una versión concreta del intérprete de Python (que, lógicamente, debemos tener instalada en nuestro sistema), podemos indicarlo con la opción -p de este modo:

virtualenv -p /usr/bin/python3.5 virtualenvs/nuevo-entorno

Si no se indica la opción -p, se usará el intérprete en /usr/bin/python.

Una vez creado nuestro entorno virtual, necesitamos activarlo para poder usarlo. Para ello vamos a usar uno de los scripts que se han instalado por defecto al crearlo. El script necesario es activate, y se encuentra en el directorio bin que se ha creado dentro del de nuestro entrono virtual:

source mis-virtualenvs/mi-entorno-virtual/bin/activate

La orden source se encarga de ejecutar en la sesión de shell actual el script que se le pasa como parámetro (es decir, que el efecto es el mismo que si el usuario tecleara esas instrucciones en su consola) en lugar de en su propia shell, como se ejecutan normalmente los scripts.

Al hacer esto, el prompt de shell cambiará para indicar que se ha activado el entorno virtual, poniendo el nombre de este delante del prompt habitual, de un modo parecido a este:

(nuevo-entorno) usuario@host:~ 

A partir de este momento cualquier comando o script de python que se ejecute lo hará en el entorno virtual. Y, lo que es más importante, cualquier módulo que se instale (con pip, no con el gestor de paquetes del sistema) lo hará también en el entorno virtual y no afectará ni al resto de entornos virtuales que podamos tener, ni a la instalación de Python del sistema.

Naturalmente, esto se aplica sólo a la sesión en la que se ha activado el entorno virtual. Si abrimos otra sesión en otro terminal, por ejemplo, esa sesión tendrá el entorno de Python normal de nuestro sistema. Por supuesto, se pueden tener varios entornos virtuales distintos corriendo simultáneamente en diferentes sesiones sin ningún problema.

El comando deactivate desactivará el entorno virtual, volviendo al entorno normal:

deactivate

Cualquier módulo que se haya instalado en el entorno virtual se "desvanecerá" como si nunca hubiese estado ahí, hasta que se active de nuevo el mismo entorno virtual.

Para eliminar un entorno virtual que no queramos volver a usar, sólo es necesario borrar el directorio de su mismo su nombre con todo su contenido.

virtualenv es una herramienta muy útil que tiene otros usos más allá de lo que se comenta en este artículo. Se pueden ver más opciones de este programa en su propia ayuda:

virtualenv --help

Este artículo se publicó originalmente en el blog de la Oficina de Software Libre de la Universidad de Granada

(1205 visitas a este artículo)

A.C.A.B

Me entero por Campanilla que han multado a un chico por llevar una camiseta con las siglas A.C.A.B..

No es la primera vez que ese mensaje tare problemas a alguien. Una chica ya se llevó una multa por lo mismo, esta vez en un bolso.

A.C.A.B

No es que las autoridades estén en contra de los amantes de los gatos, sino que parece que las fuerzas del orden están particularmente sensibles ante la opinión que los ciudadanos tienen de ellas; al menos lo suficiente para interpretar torticeramente el artículo 37.4 de la infame "Ley Orgánica 4/2015, de 30 de marzo, de protección de la seguridad ciudadana", más conocida como "Ley Mordaza", que considera como faltas leves "Las faltas de respeto y consideración cuyo destinatario sea un miembro de las Fuerzas y Cuerpos de Seguridad en el ejercicio de sus funciones de protección de la seguridad, cuando estas conductas no sean constitutivas de infracción penal".

O a lo mejor no es eso. A lo mejor los pollitos les gustan más.

T.L.P.S.B

En cualquier caso, yo recomendaría encarecidamente a la Asociación Contra la Anorexia y la Bulimia que vendiese camisetas promocionales con sus siglas bien visibles, que seguro que encuentra montones de compradores solidarizados con su muy respetable causa.

Avisa Sergio Carrasco en Twitter:
"una denuncia (que no debería existir, cierto) más que una sanción. Debería archivarse."

(1951 visitas a este artículo)

Escépticos y follones

Soy escéptico. Creo que que el escepticismo es la única forma razonable y práctica de aproximarse a la realidad. Aún así, asumo que tengo (como todo el mundo) mi cuota de contradicciones y errores, pero estoy dispuesto a vivir con ellos, tratar de descubrir los que pueda, y subsanarlos cuando las pruebas me lo permitan. Ser escéptico no significa carecer de creencias infundadas, sino estar dispuesto a corregirlas ante las pruebas y los hechos.

Creo también que es bueno que haya asociaciones que se dediquen a promover el escepticismo y creo que las que existen hacen una labor importante y necesaria.

Además tengo amigos, conocidos y gente a la que respeto dentro del escepticismo organizado.

Muchas de las cosas que cito a continuación han sido escritas por personas concretas en situaciones concretas. Algunas incluso por alguna de esas personas que he comentado que admiro y respeto. No he puesto quién ha dicho cada cosa porque no importa, no es relevante y no tiene nada que ver con el objetivo de este post.

Esto no es un texto del tipo "tal persona es mala/tonta/incoherente porque dijo tal cosa". No creo que sea cierto (o, al menos, no creo que sea necesariamente cierto) que las personas que han dicho algo en la línea de lo que comento sean peores personas, o más ignorantes, o peores cocineros o saxofonistas por ello.

Si te sientes identificado en alguna de las citas, me disculpo por adelantado. Si te ofende o molesta, créeme cuando digo que no era mi intención. Si te sientes obligado a justificar tu frase, te aseguro que no es necesario. Esto no pretende ser una trolleada ni un flamewar.

En serio. No pretende ser un ataque a nadie ni a nada, ni una crítica a nadie concreto.

El caso es que, a vuelta de vacaciones, me he enterado de que hace poco se ha escrito un artículo que ha generado, por decirlo suavemente, cierta polémica. Lo he leído y, a pesar de que tiene mucho de clickbait y aunque todo me parece matizable y hay algunas cosas que no suscribo, estoy básicamente de acuerdo con lo que dice.

Deberías leerlo antes de continuar pero, en esencia, se trata de una crítica al movimiento escéptico organizado (en adelante, voy a usar expresiones como "movimiento escéptico organizado" de un modo bastante laxo y poco riguroso. Espero que me perdones por ello: Puede ser, en general, una organización un poco "soft" pero es un colectivo visible y definido). El artículo habla de varias cosas, pero se centra principalmente en actitudes prepotentes y agresivas, endogamia o el sesgo masculino.

En realidad, ninguna de las críticas que se hacen en el artículo es nueva y, de hecho, son las mismas que aparecen más o menos periódicamente en las propias listas de correo de los grupos escépticos.

Pero lo más curioso ha sido la respuesta por parte del movimiento escéptico a este artículo.

En parte, ha sido el tipo de respuesta que se suele dar en cualquier tipo de organización: Cierre de filas, caracterización de la crítica como una "agresión", defensa de las posiciones y rechazo.

Este tipo de reacciones son habituales y, de hecho, los escépticos se las suelen encontrar cuando argumentan ante otros colectivos. por eso es especialmente curioso que desde las filas del escepticismo se reaccione de forma tan parecida.

Ha habido muchas respuestas (sobre todo al principio) del tipo "Nos atacan", incluso con cierto deje conspiranoico aludiendo a alguna indefinida "campaña contra los escépticos".

En este sentido, no han faltado tampoco los ad hominem del tipo "Esto es la venganza de un resentido", "el autor siempre ha estado en contra del escepticismo" o "nos ataca porque nos odia".

También ha habido muchos que, un poco en plan hombre de paja, han corrido a defender el escepticismo como concepto, cuando lo que se critica es una organización.

Varios han argumentado que la crítica toma la parte por el todo, y que atribuye al "movimiento escéptico" el carácter y comportamiento de algunos miembros. La crítica, argumentan, debería haber estado dirigida a "algunos miembros" de los grupos de activismo escéptico.

Personalmente no adopto ese tipo de lenguaje preciso y riguroso cuando hablo de colectivos como los creyentes, los políticos, los creacionistas o los informáticos. Normalmente (y me consta que no soy el único que lo hace), doy por hecho que se entiende que hablo "a bulto", y que el colectivo al que me refiero es mucho más diverso.

Por otr lado, los sociopsícólogos dicen que colectivos tienen un "problema" a la hora de ser percibidos desde fuera de ellos: La mayoría de sus miembros son gente "normal", moderada y que, simplemente, no se ve. Pero la minoría de gente que hace ruido, o se porta como un capullo, o adopta posturas extremas, o es profundamente borde, sí que es percibida claramente, y acaba siendo la que define el grupo tal y como se ve desde fuera de este.

Pasa en todas partes, es un hecho objetivo en prácticamente cualquier colectivo, y muchas organizaciones tienen que hacer verdaderos esfuerzos de organización y comunicación para paliar este efecto. Esto es especialmente cierto en los colectivos que tiene algún tipo de base ideológica, filosófica o algún modo definido de ver el mundo (algún día hablaré de cómo se aplica esto en el mundo del software libre). No es algo necesariamente bueno ni malo, todo depende de las características del grupo y del tipo de "desviaciones internas" que tenga, pero a menudo sí que es malo, y ahí está.

(la cosa es más compleja, porque en muchos casos esta distribución crea dinámicas internas que hace que el grupo realmente derive en la dirección de los "ruidosos" o los "extremistas", pero vamos a dejarlo aquí para no liar el tema aún más.)

En el movimiento escéptico hay montones de capullos. Hay gente borde, pagada de sí misma y convencida de que tiene razón y de que tiene el derecho a decirlo de la forma que le de la gana, aunque eso moleste a otros.

Y realmente tienen ese derecho. Ser un borde y un capullo no es un delito, y está dentro de lo que protege la libertad de expresión.

Pero, si lo eres, no esperes caerle bien a la gente.

Y, como ejemplo paradigmático de ello, tenemos al gran Richard Dawkins (en serio que es paradigmático, es el que siempre se acaba mencionando cuando sale este tema).

Dawkins es uno de los mejores divulgadores científicos vivos. Especialmente cuando se habla de bioquímica, genética y evolución, que es su especialidad. He leído un buen puñado de libros suyos y es fantástico. Además, es un escéptico y ateo militante, y su libro "El espejismo de Dios" es uno de los mejor argumentados en favor del ateísmo.

Pero Dawkin es un capullo. Siempre lo ha sido. No sólo cuando se habla de escepticismo, si no que ya lo era cuando debatía sobre biología con otros biólogos. Es un borde y tiene la habilidad diplomática de un bulldozer.

Y tiene todo el derecho a serlo, pero es una putada. Tengo un par de amigos a los que (en mi opinión) les resultaría tremendamente interesante llevarse "El espejismo de Dios" que hay en mi estantería pero que nunca lo harán, porque la fama de Dawkins le precede y no lo tragan.

En el escepticismo organizado hay bastante gente en esa línea, son notorios y conocidos dentro del propio movimiento pero, qué carajo, es que tienen algo de carácter; cuando los conoces mejor no son mala gente.

Claro que a muchos se les quitan las ganas de llegar a conocerlos mejor.

Así que resulta que hay un montón de capullos. No son mayoría, sin duda. Pero destacan mucho. Además, sólo hace falta un capullo para fastidiarte una tarde que estaba siendo agradable.

Pero, además, está el tema de la endogamia. Que seguro que no la hay, pero lo que se ve desde fuera es que hay un grupo más o menos reducido que aparece en todas partes, en todos los saraos, en todos los medios. desde hace mucho.

Esto es normal, y no tiene que significar nada malo. En todo colectivo es normal que haya gente que participa más que otra. Además, cuando destacas trabajando en algo es más probable que te vuelvan a llamar para algo parecido. Además, si necesitas ayuda lo más fácil y seguro es tirar de la gente que ya conoces. Esto hace que en todo grupo que tenga una organización más o menos flexible se tienda a crear dos sectores diferenciados, Los que "tiran del carro", participan, hacen cosas y organizan, y un grupo más numeroso, formado por los que asisten, escuchan y, en general, participan menos y de un modo más pasivo.

Por supuesto, estos subgrupos no son estancos, y hay cierta fluidez entre ellos. pero tampoco demasiada.Por supuesto, los "outsiders" y recién llegados lo tienen más difícil para acceder a esta especie de "camarilla interna".

Un detalle curioso es que, en las discusiones y batallas que se han formado en Twitter a raíz de esta polémica, muchos críticos ("haters", "enemigos", "agresores") confundían o mezclaban al "movimiento escéptico" con el "movimiento divulgador". Cosas del tipo "en tal evento escéptico pasó tal cosa horrible porque sois horribles", a lo que el escéptico de turno respondía "Ese evento era de divulgación, y no tenía nada que ver con nuestro grupo". Pero muchos.

Esto no es tan raro si nos fijamos en que esos escépticos que son especialmente visibles se solapan en gran medida con los pocos divulgadores que son especialmente visibles en el movimiento divulgativo.

Que, insisto, no es necesariamente malo, se da en casi todos los colectivos, y es una consecuencia natural de cómo funciona un grupo. Pero ocurre.

Y relacionado con todo esto está el tema de por qué hay tan pocas mujeres en el escepticismo.

En el activismo escéptico hay muy pocas mujeres (aunque la cosa ha mejorado desde hace unos años). No es el único ambiente donde esto ocurre (créeme, me muevo en el mundo de las TiC)

Iba a escribir mi opinión aquí, relacionándolo con las barreras de entrada típicas de todo colectivo, añadidas a la mencionada presencia de "capullos" y la problemática de la "fluidez interna" del grupo. pero he visto (y he visto completo) este vídeo que ha tuiteado el @paleofreak, y me parece que está espléndidamente explicado. Incluyendo la parte más triste y desagradable.

En serio, deberías verlo.

En el movimiento escéptico hay mucho machismo. No me atrevo a decir si es más o menos que en otros grupos, o si es más o menos de lo que le corresponde estadísticamente en la sociedad en la que vivimos.

No me refiero a señores que opinan que la mujer debería estar fregando en vez de ir por ahí "escepticando" o de misóginos agresivos (que también los hay, dale un ojo al vídeo que he puesto arriba). Me refiero a ese sesgo inconsciente que acaba poniendo al hombre en una posición ventajosa (ese que hace que las mujeres hagan mejor música ante un jurado experto cuando este no sabe su sexo).

Insisto en que no me atrevería a decir que hay más machismo que en otros entornos; pero es que debería haber menos. ¡Para algo somos escépticos!

El escepticismo debería ser marcadamente feminista, porque la desigualdad está basada en dogmas (fundamentalmente religiosos) y creencias irracionales.

Por ejemplo: Hace poco un escéptico se mostraba opuesto a la discriminación positiva en favor de la mujer. No es el primero que lo hace y, de hecho, es una opinión que parece mayoritariamente compartida. Y, sin embargo, la mayoría de la investigación científica de los últimos cincuenta años apunta a que la discriminación positiva es una medida útil y efectiva para alcanzar la igualdad (y más útil que otras técnicas como la discriminación negativa -es decir, prohibir discriminar-).

Los escépticos, como todo el mundo, estamos sujetos a sesgos y errores. pero, precisamente, la ciencia es la herramienta más poderosa para superarlos.

Y esto, creo, es todo lo que tenía que decir.

Es mi opinión. He tratado de argumentarla y fundamentarla, pero sigue siendo opinión. No he puesto enlaces a papers ni citas de libros, porque no era ese el tipo de post que quería hacer. Mi opinión es, por supuesto, muy discutible, y me reservo el derecho de cambiarla si las pruebas lo requieren.

Pero, por resumir un poco, porque con toda esta retahíla creo que se ha perdido un poco la idea que quería transmitir:

Creo que las criticas del artículo en cuestión tienen base. No es la primera vez que se hacen, ni será la última, ni es la vez que más vitriólicas han sido. De hecho, yo he visto el artículo bastante moderado en comparación con otros, incluyendo algunos hechos desde el propio escepticismo organizado.

En cualquier caso, creo que tampoco hay que sacar las cosas de quicio: Esas cosas ocurren en muchos colectivos y son en buena medida derivadas de la propia dinámica de las organizaciones.

Pero tampoco hay que desecharlas de un plumazo e ignorarlas: Esos problemas existen y habría que tratar de solucionarlos o, al menos, paliarlos y mantenerlos bajo control. Existen formas de hacerlo, algunas simples y otras menos, pero los hechos, las pruebas y la ciencia están ahí.

Somos escépticos. Tenemos las herramientas.

(2771 visitas a este artículo)

Trabajar para el enemigo (I)

Las cosas están fatal, el trabajo es una mierda, cada vez en peores condiciones, y a la gente, atontada con el fútbol y con sus mediocres vidas, no le importa nada. Nadie hace nada.

Haz ruido. participa en las huelgas, ve a las manifestaciones.

Las huelgas no tienen ningún efecto, y las manifestaciones menos.

Ayuda a cambiar eso, afiliate a un sindicato.

Los sindicatos están apoltronados, viven de la sopa boba y no sirven para nada.

Vota para que cambien las cosas.

Los partidos políticos son peores que los sondicatos. Ninguno representa mis intereses.

Afiliate al que te desagrade menos, participa y cambia el partido desde dentro.

No. Están controlados por su cúpula y no se puede hacer nada.

Unete a algún movimiento vecinal. Seguro que en tu barrio también hay.

Son pequeños grupos de gente tan motivada como inoperante, no pueden hacer grandes cosas.

Participa en alguna plataforma cívica.

Sólo sirven para promover los intereses políticos de los que las controlan.

Hazte voluntario, colabora con alguna ONG.

Eso lleva demasiado tiempo, estoy demasiado ocupado y sólo ofrecen trabajos tediosos y mecánicos. No hay ninguna que pueda aprovechar mi potencial.

Pues dona dinero a una ONG.

La mayor parte del dinero que donas va a pagar la gestión de la propia ONG, no tienes la seguridad de que vaya a donde se necesita.

Sí, lo sé. Estás convencido de que "no se puede hacer nada" salvo quejarte con pose de superioridad cínica. Ese derrotismo cómodo te evita tener que esforzarte, mietras te permite sentirte moralmente justificado. No lo sabes, pero trabajas para el enemigo. El mayor engaño es pensar que estás contra lo que consideras injusto cuando eres una pieza de ello. Creer que estás fuera y sentirte superior a todos esos que hacen exactamente lo mismo que tú.

Si no eres capaz de nada más, hazte donante de sangre, de médula, de órganos. Intenta hacer que al menos parte de tu trabajo sea ético, da clases al niño del vecino, ayuda a tu vecina a subir la compra.

Haz, por una vez, algo por alguien en lugar de estar sentado en tu sofá, quejándote de todo sin hacer nada, dando lecciones a los demás sin aplicártelas a ti.

O, al menos, cállate.

No. No creo que todo el mundo deba participar en todas esas actividades ni hacer todas esas cosas. Pero, si vas a dar lecciones, al menos deberías participar en alguna de ellas al menos una vez en tu vida.
(2320 visitas a este artículo)
Posts Posteriores (1/37) Posts Anteriores
PCMS 2004