Apuntes: ImportError No module named numpy.distutils

$ lsb_release -sd && uname -mor
Ubuntu 11.10
3.0.0-12-generic x86_64 GNU/Linux

Es un hecho que los repositorios de Debian/Ubuntu no siempre están al día —pero eso no es un problema— yo esta mañana necesitaba la última versión de NumPy. Desgraciadamente, si por costumbre aun instalas módulos de Python con easy_install puede que en ocasiones te encuentres con algo parecido a esto:

$ sudo easy_install numpy
...
ImportError: No module named numpy.distutils

Puedes solucionar esto de dos formas complementarias:

  • Quitándote la costumbre de usar easy_install ;)
  • Instalando Pip o compilando el módulo desde la línea de comandos

Antes de nada comprueba que tu instalación satisface

$ sudo apt-get install build-essential python-dev gfortran

Para la instalación de Pip recomendaría reemplazar Setuptools por Distribute.

$ sudo sh -c "wget http://python-distribute.org/distribute_setup.py -O- | python"
$ sudo sh -c "wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py -O- | python"

La instalación, actualización o desinstalación de NumPy con PiP es trivial

$ sudo pip install numpy
$ sudo pip install --upgrade numpy
$ sudo pip uninstall numpy

Si por alguna razón necesitaramos más control a la hora de compilar e instalar NumPy —o módulo parecido— siempre podríamos hacerlo manualmente:

$ url=http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/numpy-1.6.1.tar.gz
$ wget -q $url -O- | tar xzf -
$ cd numpy-1.6.1
$ python setup.py build --fcompiler=gnu95
$ sudo python setup.py install
$ python
Python 2.7.2+ (default, Oct  4 2011, 20:06:09) 
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> numpy.__version__
'1.6.1'
About these ads