Necesitaremos tener varias herramientas instaladas en nuestro ordenador:
- Python 2
- Python 3
- Virtualenv
- Visual Studio Code (o cualquier otro editor o entorno de desarrollo)
A continuación encontraréis instrucciones específicas para cada sistema operativo (OS X y Windows).
Para instalar Python usaremos Homebrew, un conocido gestor de paquetes para OS X. Lo primero que haremos es comprobar si lo tenemos instalado. Para ello debemos abrir una ventana con Terminal (o iTerm2) y teclear:
brew --versionSi Homebrew está instalado veremos algo parecido a esto:
$ brew --version
Homebrew 1.5.2
Homebrew/homebrew-core (git revision 1d5b; last commit 2018-01-24)
$En ese caso nos limitaremos a asegurar que tanto el gestor de paquetes como el repositorio de paquetes disponible están actualizados lanzando este comando:
brew updateSi Homebrew no estuviese en nuestro sistema deberemos instalarlo. Es tan simple como ejecutar el siguiente comando:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"La instalación de algunos paquetes requiere disponer de un compilador. Para ello, lo más fácil es instalar las XCode's Command Line Tools con este comando:
xcode-select --installEn principio ya está todo listo para instalar Python 2 y Python 3 con Homebrew tecleando:
brew install python2 python3 Una vez finalizada la instalación podemos comprobar que ha ido bien:
$ python --version
Python 2.7.10
$ python2 --version
Python 2.7.14
$ python3 --version
Python 3.6.4Lógicamente, si los números de versiones son distintos deberían ser mayores.
OS X viene con una instalación de Python 2 que es utilizada y actualizada por el propio sistema operativo. Se recomienda utilizar otra instalación de Python 2 para uso general y, de esta manera, no interferir con la que usa el sistema operativo. Por ello vemos que hay 3 versiones instaladas.
Cuando instalamos Python se instala también una herramienta, Pip, para instalar paquetes/bibliotecas/librerias en Python. En consecuencia, podemos comprobar también que tenemos 3 versiones instaladas:
$ pip --version
pip 1.5.4 from /Library/Python/2.7/site-packages (python 2.7)
$ pip2 --version
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
$ pip3 --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)El siguiente paso es instalar Virtualenv.
Para instalar Python hay que bajarse sitio web oficial de Python el instalador específico para el sistema que tengamos (32 bits o 64 bits). Lo haremos para ambas versiones, Python 2 y Python 3.
Durante la instalación es necesario marcar siempre la opción "Add Python X.X to PATH". Además, en el caso de Python 3 dejaremos marcada la opción "Install launcher for all users (recommended)".
Una vez finalizadas las instalaciones podemos comprobar que ha ido bien utilizando Python Launcher desde una ventana de comandos. Así, para entrar en Python 2 ejecutaremos:
py -2 Para salir del interprete deberemos teclear:
exit()Y para entrar en Python 3 ejecutaremos:
py -3Otra vez, para salir del interprete deberemos teclear:
exit()También podemos comprobar que se han instalado las versiones del gestor de paquetes en Python Pip correspondientes a cada versión de Python:
> pip --version
pip 9.0.1 from c:\python27\lib\site-packages (Python 2.7.13)
> pip3 --version
pip 9.0.1 from c:\users\[USERNAME]\appdata\local\programs\python\python36-32\lib\site-packages (python 3.6)El siguiente paso es instalar Virtualenv.
virtualenv es una utilidad para crear entornos Python aislados.
Para instalar virtualenv en OS X utilizaremos la versión de pip instalada con Python 3:
pip3 install --upgrade virtualenv Para instalar virtualenv en Windows utilizaremos pip:
pip install --upgrade virtualenv Podemos utilizar cualquier editor para escribir código. Os recomendamos Visual Studio Code. Otras alternativas son:
Para instalar Visual Studio Code es necesario bajarse el instalador apropiado a nuestro sistema operativo (OS X o Windows 32 bits o Windows 64 bits) y lanzarlo.
En una instalación hecha con Homebrew el intérprete de Python está en /usr/local/bin/python3. Podemos comprobarlo:
$ which python3
/usr/local/bin/python3
$ which python2
/usr/local/bin/python2Imaginemos que ya tenemos la versión 3.4 instalada (no con Homebrew):
$ which python3
/Library/Frameworks/Python.framework/Versions/3.4/bin/python3Para proceder a su desintalación debemos lanzar los siguientes comandos desde un terminal:
sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.4/
sudo rm -rf /Applications/Python\ 3.4/
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/3.4' | awk '{print $9}' | tr -d @ | xargs rmEs probable que la variable de entorno PATH incluya el directorio /Library/Frameworks/Python.framework/Versions/3.4/bin:
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/opt/X11/bin:/usr/local/bin/jamfPodemos editar el fichero ~/.bash_profile para quitarlo con este comando:
open -a textedit ~/.bash_profileUna vez en el editor hay que borrar las líneas:
PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:$PATH"
export PATH
Con esto debería estar completamente desinstalada la versión 3.4. Obviamente, si la versión es otra el proceso es el mismo cambiando el número de versión.
Si hubiesemos instalado python3 -para seguir con el ejemplo- con Homebrew antes de desinstalar el Python 3 previamente instalado sin Homebrew deberemos completar la instalación lanzando:
brew unlink python3
brew link python3Si no lo hubiesemos instalado, lo haremos tal como se describe en las instrucciones iniciales mediante este comando:
brew install python3Python, como muchos otros lenguajes de programación, dispone de un repositorio público donde es posible encontrar "paquetes" -también llamados blibliotecas o librerías- que facilitan la implementación de una determinada funcionalidad. Estos paquetes no son nada más que módulos Python, es decir ficheros con código. Podemos encontrar desde paquetes que simplifican el tratamiento de datos en un formato determinado, por ejemplo leer una hoja de cálculo, hasta paquetes que permiten interactuar con otros sistemas, como una plataforma de colaboración.
pip es el sistema de gestión de paquetes que usaremos para instalar, actualizar y desinstalar modulos de Python en nuestro sistema.
Al instalar estos paquetes en nuestro sistema estarán disponibles para usarlos en cualquier programa Python que desarrollemos. El principal beneficio que aporta esta aproximación es que no hace falta descargar/copiar los módulos cada vez que los queramos usar en un programa.
Sin embargo, esta aproximación crea un problema al introducir dependencias. Podemos tener un programa que requiere un paquete en una versión determinada y otro que requiere el mismo paquete en una versión distinta, que implementa un cambio de funcionalidad. pip solo mantiene instalada una versión del paquete por lo que si al cabo de un tiempo de instalar un paquete como dependencia de un programa que estemos usando lo volvemos a instalar, por ejemplo como dependencia de un nuevo programa que queremos probar, es posible que el primer programa deje de funcionar.
Además, es habitual que un paquete incluya dependencias a otros paquetes con lo cual el problema se hace cada vez mayor.
virtualenv nos ayuda a gestionar este problema de dependecias creando copias del entorno Python, intérprete y paquetes, por aplicación. De esta forma podemos mantener entornos aislados inmunes a cambios en otros entornos.
Para crear un entorno virtual persistente lo primero que debemos hacer es crear un directorio para nuestra aplicación, situarnos en él y ejecutar virtualenv:
mkdir myapp
cd myapp
virtualenv --python python3 envPodemos indicar una versión específica de Python, de entre las que tengamos instaladas, por medio del flag --python. También deberemos indicar el nombre del directorio donde se clonará la instalación de Python y, por lo tanto, donde se instalarán todas la dependencias. Es habitual usar env para este fin.
A partir de entonces, cada vez que necesitemos activar este entorno deberemos, desde el directorio de la aplicación, lanzar este comando:
- Para OS X:
source env/bin/activate- Para Windows:
./env/bin/activateSi ya no necesitamos este entorno podemos desactivarlo lanzando este comando:
deactivatePara ser más rápidos con Visual Studio Code: