Instalar IPython mediante pip en Ubuntu y Mac OS X
Introducción
Una vez que hemos decido no hacer frente a los gastos del uso legal de Mathematica y hemos desechado la ideas usar Maxima por las razones ya bien conocidas, una buena apuesta es llamar a la puerta de Python y servirse de las herramientas que se han derivado de él en la última década; nos referimos a sagemath e IPython.
A la instalación de sagemath le hemos dedicado un post en Wildunix. A IPython le dedicaremos alguno pronto, pero hay una dificultad en su instalación que urge solventar.
No conocemos mejor directriz de instalación que la dada en la página oficial donde en el apartado “I already have Python”, dentro de la casuística de instalación sugiere el uso de pip (esta herramienta ha sido explicada en nuestro post titulado “Mi Primera Clase de Python"). Por supuesto que casi la totalidad del común de los usuario estará en esta situación, a saber, la de “yo ya tengo Python”.
En este post hemos usado Python 3, tanto para Ubuntu como para Mac OS X. La razón es que presenta algunas facilidades para la instalación y, a fin de cuentas, representa el futuro.
IPython en Ubuntu mediante pip
Al ejecutar la orden de instalación recomendada en la página oficial, concretamente la orden
pip3 install --user "ipython[notebook]"
fracasa la instalación de la librería pyzmq
con el siguiente mensaje:
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-build-23a2_por/pyzmq/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" fetch_libzmq install --record /tmp/pip-wmhla3sg-record/install-record.txt --single-version-externally-managed --compile --zmq=bundled" failed with error code 1 in /tmp/pip-build-23a2_por/pyzmq
Una vez analizado se ve que la razón de esta dificultad es que faltan librerías de desarrollo de Python de las provistas en los paquetes alojados en los repositorios de Ubuntu.
Es tan simple como instalar, si no estuviesen ya instalados, los paquetes que se sugieren a continuación:
sudo apt install python-dev
sudo apt install python3-dev
y posteriormente instalar g++
:
sudo apt install g++
En primer lugar instalaremos pip3
, haremos lo siguiente:
sudo apt install python3-pip
Y con esto podremos ya llevar a cabo la instalación sugerida según la orden:
pip3 install --user "ipython[notebook]"
Por supuesto que nada de esto sería preciso si tan solo hubiéramos optado por la instalación básica de IPython:
pip3 install --user ipython
Seguidamente, si queremos instalar la librería de Python llamada
matplotlib
necesitaremos el paquete libfreetype6-dev
:
sudo apt install libfreetype6-dev
En algunas distribuciones, por ejemplo Ubuntu Server 16.04, no
disponemos del paquete pkg-config
en la instalación básica, por lo
que habría que instalarlo en este momento
sudo apt install pkg-config python3-tk
con lo que ya podremos hacer la instalación de matplotlib
con pip3
:
sudo pip3 install --user matplotlib
Si nos faltase la librería matplotlib
, al intentar instalarla con pip
tendríamos al final un mensaje de error que acaba en:
TypeError: unorderable types: str() < int()
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-6fus7qwz/matplotlib
Convendría, a nuestro entender, instalar sympy
por lo que ejecutaremos:
pip3 install --user sympy
Otra librería conveniente es scipy
. Para ellas necesitaremos los
paquetes instalados ejecutando:
sudo apt install libblas-dev liblapack-dev
sudo apt install python-dev gfortran
y ya con esto instalamos scipy
:
pip3 install --user scipy
Si queremos instalar pygraphviz
necesitamos la librería libgraphviz-dev
:
sudo apt install libgraphviz-dev graphviz python3-dev
tras lo cual ejecutaremos:
pip3 install --user pygraphviz
pip3 install --user graphviz
También debemos instalar networkx
y nxpd
:
pip3 install --user networkx
pip3 install --user nxpd
También podemos instalar simpy
, gmpy
y pytest
:
pip3 install --user simpy
sudo apt install python3-gmpy2
pip3 install --user pytest
IPython en Mac OS X Mediante pip
En esta parte final del post seguimos instalando para Python 3
bajo la
hipótesis de que tenemos en nuestro ordenador: Mac OS X “El Capitan” y
que ya contamos con brew
instalado en el sistema. Para Yosemite
debería funcionar todo, pero no está probado.
Es posible que en su sistema alguna de las siguientes órdenes deban ser dadas como superusuario, es decir, anteponiendo sudo, téngalo en cuenta.
Lo más probable es que no tengamos Pyhton 3
en el sistema, por lo que
habríamos de procecer a instalarlo. Para ello ejecutaremos desde la
terminal:
brew install python3
Si lo tuviésemos ya, ignoraríamos esta orden. Puede ocurrir que una
operación de mantenimiento y regeneración de permisos en el sistema
Mac OS X, surjan problemas para la instalación completa de
python3
. Si detectara esto, tras la orden:
brew install python3
ejecute
estando dentro de /usr/local
:
sudo chown -R $(whoami) $(brew --prefix)/*
brew postinstall python3
Lo siguiente sería la instalación propiamente dicha mediante pip
pip3 install --user ipython pyzmq jinja2 tornado
pip3 install --user "ipython[notebook]"
Hecho esto, podemos probar el resultado ejecutando en terminal:
ipython notebook
Ello debería lanzarnos en el navegador el entorno Jupyter. Como hemos explicado antes, es muy conveniente tener las librerías usuales en el cálculo científico-técnico:
pip3 install --user sympy
pip3 install --user numpy
pip3 install --user matplotlib
pip3 install --user scipy
La instalación de pygraphviz
requiere la librería graphviz
. Para ello:
brew cask install adoptopenjdk
brew install svn
brew install graphviz
brew install graphviz
pip3 install --user --install-option="--include-path=/opt/local/include" --install-option="--library-path=/opt/local/lib" pygraphviz
pip3 install --user networkx
pip3 install --user nxpd
Podemos instalar simpy
y pytest
:
pip3 install --user simpy
pip3 install --user pytest
Para instalar gmpy
haremos lo siguiente:
brew install mpfr
brew install libmpc
pip3 install --user gmpy2
Para instalar pdfminer.six
podemos instalar ocrmypdf
mediante la siguiente orden:
pip3 install --user ocrmypdf
Resumen sin Comentarios para el Caso de Sistemas Basados en Ubuntu
Hemos hecho la siguiente instalación (en algunos de los pasos deberemos tener paciencia, mucha paciencia):
sudo apt install python-dev
sudo apt install python3-dev
sudo apt install g++
sudo apt install python3-pip
sudo apt install libfreetype6-dev
sudo apt install pkg-config python3-tk
pip3 install --user matplotlib
pip3 install --user "ipython[notebook]"
pip3 install --user sympy
sudo apt install libblas-dev liblapack-dev
sudo apt install python-dev gfortran
pip3 install --user scipy
sudo apt install libgraphviz-dev graphviz python3-dev
pip3 install --user pygraphviz
pip3 install --user graphviz
pip3 install --user networkx
pip3 install --user nxpd
pip3 install --user simpy
sudo apt install python3-gmpy2
pip3 install --user pytest
Resumen sin Comentarios para el caso de Mac OS X “El Capitan”
brew install python3
pip3 install --user ipython pyzmq jinja2 tornado
pip3 install --user "ipython[notebook]"
ipython notebook
pip3 install --user sympy
pip3 install --user numpy
pip3 install --user matplotlib
pip3 install --user scipy
brew install graphviz
pip3 install --user --install-option="--include-path=/opt/local/include" --install-option="--library-path=/opt/local/lib" pygraphviz
pip3 install --user networkx
pip3 install --user nxpd
pip3 install --user simpy
pip3 install --user pytest
brew install --user mpfr
brew install --user libmpc
pip3 install --user gmpy2
pip3 install --user ocrmypdf
Y … esto es todo por hoy.