On explique ici comment installer un module python sur une debian (ubuntu), de deux points de vue différents : soit on a les droits root (administrateur) sur la machine, soit on ne les a pas...
La manière la plus facile, et la plus puissance, d'installer un package, est de passer par easy_install, qui va récupérer ce qu'il faut sur le Python Package Index, et qui l'installe.
Pour installer easy_install :
$ sudo aptitude install python-setuptools
Ensuite, pour installer le package de votre choix, par exemple sympy :
$ sudo easy_install sympy
Deux cas de figures : le module recherché est maintenu par la communauté debian, ou il ne l'est pas...
Supposons, pour se fixer les idées, que l'on souhaite installer sympy. Première chose à faire, regarder s'il n'existe pas un paquetage dans les dépots officiels...
$ aptitude search sympy i python-sympy - Computer Algebra System (CAS) in Python
Il a trouvé un module correspondant. Reste à l'installer...
$ sudo aptitude install python-sympy
Supposons que l'on ait récupéré une bibliothèque python sur le net, par exemple PyX-0.10.tar.gz. On le décompresse, et l'on va dans le répertoire créé :
$ tar zxvf PyX-0.10.tar.gz $ cd PyX-0.10/
On installe ensuite la bibliothèque :
$ sudo python setup.py install
La bibliothèque est alors installée dans /usr/lib/python2.5/site-packages/pyx. Souvent, un répertoire de documentation est aussi installé dans /usr/share/doc, mais ça n'est pas le cas de notre exemple.
Voici la démarche générale pour installer un module python sur une machine où vous êtes simple utilisateur (pas les droits root). Pour cela, il vous faut la source (un fichier .tar.gz, le plus souvent, trouvé par exemple sur le net).
Trois cas de figures peuvent se produire...
Le répertoire décompressé contient un sous-répertoire au nom de la bibliothèque.
Par exemple, quand on a décompressé PyX-0.10.tar.gz, et que l'on s'est déplacé dans le répertoire créé :
$ tar zxvf PyX-0.10.tar.gz $ cd PyX-0.10/
Alors, quand on liste le contenu dudit répertoire, on trouve...
~/PyX-0.10$ ls AUTHORS CHANGES examples gallery LICENSE PKG-INFO pyxrc setup.cfg build contrib faq INSTALL manual pyx README setup.py
On voit un répertoire d'exemples, de documentation, mais ce qui nous intéresse ici est la présence d'un répertoire au nom du module : pyx.
Si vous lancez python dans le répertoire PyX-0.10, alors il voudra bien importer le module :
~/PyX-0.10$ python Python 2.5.2 (r252:60911, May 7 2008, 15:19:09) [GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pyx >>>
On voit que tout se passe bien ! Signalons qu'il est possible de déplacer ce sous-répertoire pyx où vous voulez, la seule contraite étant que, pour l'importer, vous devez vous trouver là où se situe ce répertoire.
S'il n'y a pas de sous-répertoire au nom du module, dans le répertoire du fichier décompressé, alors on va le construire.
Il se peut que le module que vous avez récupéré se résume à un fichier, d'extension .py.