Cómo usar Entornos Virtuales de Python (virtualenv) para Instalar SciPy en macOS
En este post, les mostraré brevemente como crear un entorno virtual (virtualenv) para python en macOS y así poder instalar las principales bibliotecas necesarias para machine learning sin tanto enredo con las distintas versiones.
1) Crear entorno virtual
Para esto, primero instalaremos la herramienta virtualenv y crearemos un entorno con python 3.
# Instalar virtualenv
$ pip3 install virtualenv
# Creamos una carpeta en Documents donde tener todos los entornos virtuales
$ mkdir /Users/username/Documents/Python
$ cd /Users/username/Documents/Python
# Creamos el entorno virtual con
# virtualenv -p python3 <mi_proyecto>
$ virtualenv -p python3 machine-learning
2) Usar el entorno virtual recién creado e instalar SciPy y scikit-learn
Una vez que creamos el virtualenv, debemos activarlo como se indica a continuación. Una vez activado, todos los comandos que ejecutemos se encontrarán encapsulados en este entorno y aislados de la instalación global de python. Por ejemplo, podrían instalar cualquier paquete usando pip y este será ubicado en el directo del entorno.
# Una vez creado el entorno virtual, debemos activarlo para poder usarlo
$ source mi_proyecto/bin/activate
# En mi caso...
$ source /Users/username/Documents/Python/machine-learning/bin/activate
# Al activar el virtualenv podrán notar que aparece el nombre del entorno entre paréntesis a la izquierda en el promt de la terminal
(mi_proyecto)Mi-Computador:mi_proyecto UserName$
Ahora instalaremos las siguientes bibliotecas de python para machine learning. Sin duda hay varias más que podríamos instalar, pero lo haremos a medida que las necesitemos.
NumPy: el paquete fundamental para computación numérica. Define arreglos, matrices y operaciones entre ellos.
SciPy: una colección de algoritmos numéricos para procesamiento de señales, estadística, optimización y más.
scikit-learn: Herramientas simples y eficientes para data mining y análisis de datos.
matplotlib: Gráficos 2D y 3D (básico) a nivel de publicación.
pandas: estructuras de datos de alto desempeño.
$ pip install numpy scipy scikit-learn matplotlib pandas
# Después de descargar e instalar lo necesaio ...
# Successfully installed cycler-0.10.0 matplotlib-2.0.0 numpy-1.12.1 pandas-0.19.2 python-dateutil-2.6.0 pytz-2016.10 scikit-learn-0.18.1 scipy-0.19.0
3) Desactivar un entorno virtual
Para terminar, desactivamos el entorno virtual ejecutando:
$ deactivate
Espero te haya ayudado, si tienes cualquier duda puedes dejarla en los comentarios. Saludos!