May 19, 2024

Wiki

Python

Aide

edit SideBar

Search

Installation


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...

Le Zen

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

Si vous êtes root

Deux cas de figures : le module recherché est maintenu par la communauté debian, ou il ne l'est pas...

Cas d'un module maintenu

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

Cas d'un module non maintenu

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.

Cas d'un simple utilisateur

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...

Premier cas de figure

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.

Deuxième cas de figure

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.

Troisième cas de figure

Il se peut que le module que vous avez récupéré se résume à un fichier, d'extension .py.

Page Actions

Recent Changes

Group & Page

Back Links