Pour installer les packages ou modules sous Python, il est possible d'utiliser un installer (.exe ou .msi sous Windows), de télécharger les sources puis de taper depuis une fenêtre de commande :
python setup.py installLorsque le package contient des extensions à compiler, il faut parfois taper. Par défaut, c'est le compilateur MingGW qui utilisé ou gcc sous Linux :
python setup.py build python setup.py install
Python facilite l'installation en évitant l'étape de téléchargement. Il faut pour cela d'abord intaller deux packages (comme mentionné ci-dessus) :
pip install <module_name>L'avantage de cette méthode est la gestion automatique des dépedendances qui sont installées si besoin. (voir plus bas pour la sortie d'écran après l'exécution de la commande pip install jinja2).
Remarque : certains modules (numpy) contiennent des fichiers C++ qui devront être compilés. Cette compilation nécessite l'installation de MingGW et la définition de certaines variables environnement. Il est préférable d'utiliser les setups tout préparés qui incluent les mêmes fichiers déjà compilés.
Tester une installation
Parfois, on veut juste tester un module et ne pas dégrader son environnement. C'est possible avec le module virtualenv. Il faut d'abord l'installer :
pip install virtualenvEnsuite, on crée un répertoire pour les différents environnements virtuels :
mkdir c:\python33virOn crée un environnement virtuel :
virtualenv c:\python33vir\virt1 --system-site-packagesL'option --system-site-packages permet d'utiliser les modules déjà installés dans le répertoire de Python. Puis on va dans le répertoire python33vir/vir1/Script, on peut installer le module à tester :
pip install jinja2Si vous obtenez une erreur (bad sum), il est préférable de recommencer avant de chercher une autre erreur. Il suffit ensuite d'utiliser le programme python33vir/vir1/Script/python.exe (ou pythonw.exe) pour exécuter ses propres scripts.
Affichage après pip install virtualenv
C:\Python33\Scripts>pip install virtualenv Downloading/unpacking virtualenv Downloading virtualenv-1.9.1.tar.gz (2.0MB): 2.0MB downloaded Running setup.py egg_info for package virtualenv warning: no previously-included files matching '*' found under directory 'docs\_templates' warning: no previously-included files matching '*' found under directory 'docs\_build' Installing collected packages: virtualenv Running setup.py install for virtualenv warning: no previously-included files matching '*' found under directory 'docs\_templates' warning: no previously-included files matching '*' found under directory 'docs\_build' Installing virtualenv-script.py script to C:\Python33\Scripts Installing virtualenv.exe script to C:\Python33\Scripts Installing virtualenv.exe.manifest script to C:\Python33\Scripts Installing virtualenv-3.3-script.py script to C:\Python33\Scripts Installing virtualenv-3.3.exe script to C:\Python33\Scripts Installing virtualenv-3.3.exe.manifest script to C:\Python33\Scripts Successfully installed virtualenv Cleaning up... C:\Python33\Scripts>
Affichage après pip install jinja2
C:\Python33\Scripts>pip install jinja2 Downloading/unpacking jinja2 Downloading Jinja2-2.6.tar.gz (389kB): 389kB downloaded Running setup.py egg_info for package jinja2 warning: no previously-included files matching '*' found under directory 'docs\_build' warning: no previously-included files matching '*.pyc' found under directory 'jinja2' warning: no previously-included files matching '*.pyc' found under directory 'docs' warning: no previously-included files matching '*.pyo' found under directory 'jinja2' warning: no previously-included files matching '*.pyo' found under directory 'docs' Installing collected packages: jinja2 Running setup.py install for jinja2 warning: no previously-included files matching '*' found under directory 'docs\_build' warning: no previously-included files matching '*.pyc' found under directory 'jinja2' warning: no previously-included files matching '*.pyc' found under directory 'docs' warning: no previously-included files matching '*.pyo' found under directory 'jinja2' warning: no previously-included files matching '*.pyo' found under directory 'docs' Fixing build\lib\jinja2\bccache.py build\lib\jinja2\compiler.py build\lib\jinja2\constants.py build\lib\jinja2\debug.py build\lib\jinja2\defaults.py build\lib\jinja2\environment.py build\lib\jinja2\exceptions.py build\lib\jinja2\ext.py build\lib\jinja2\filters.py build\lib\jinja2\lexer.py build\ lib\jinja2\loaders.py build\lib\jinja2\meta.py build\lib\jinja2\nodes.py build\lib\jinja2\optimizer.py build\lib\jinja2\parser.py build\lib\jinja2\runtime.py build\lib\jinja2\sandbox.py build\lib\jinja2\tests.py build\lib\jinja2\utils.py build\lib\jinja2\visitor.py build\lib\jinja2\_stringdefs.py bu ild\lib\jinja2\__init__.py build\lib\jinja2\testsuite\api.py build\lib\jinja2\testsuite\core_tags.py build\lib\jinja2\testsuite\debug.py build\lib\jinja2\testsuite\doctests.py build\lib\jinja2\testsuite\ext.py build\lib\jinja2\testsuite\filters.py build\lib\jinja2\testsuite\imports.py build\lib\jinj a2\testsuite\inheritance.py build\lib\jinja2\testsuite\lexnparse.py build\lib\jinja2\testsuite\loader.py build\lib\jinja2\testsuite\regression.py build\lib\jinja2\testsuite\security.py build\lib\jinja2\testsuite\tests.py build\lib\jinja2\testsuite\utils.py build\lib\jinja2\testsuite\__init__.py buil d\lib\jinja2\testsuite\res\__init__.py build\lib\jinja2\_markupsafe\tests.py build\lib\jinja2\_markupsafe\_bundle.py build\lib\jinja2\_markupsafe\_constants.py build\lib\jinja2\_markupsafe\_native.py build\lib\jinja2\_markupsafe\__init__.py Skipping implicit fixer: buffer Skipping implicit fixer: idioms Skipping implicit fixer: set_literal Skipping implicit fixer: ws_comma Fixing build\lib\jinja2\bccache.py build\lib\jinja2\compiler.py build\lib\jinja2\constants.py build\lib\jinja2\debug.py build\lib\jinja2\defaults.py build\lib\jinja2\environment.py build\lib\jinja2\exceptions.py build\lib\jinja2\ext.py build\lib\jinja2\filters.py build\lib\jinja2\lexer.py build\ lib\jinja2\loaders.py build\lib\jinja2\meta.py build\lib\jinja2\nodes.py build\lib\jinja2\optimizer.py build\lib\jinja2\parser.py build\lib\jinja2\runtime.py build\lib\jinja2\sandbox.py build\lib\jinja2\tests.py build\lib\jinja2\utils.py build\lib\jinja2\visitor.py build\lib\jinja2\_stringdefs.py bu ild\lib\jinja2\__init__.py build\lib\jinja2\testsuite\api.py build\lib\jinja2\testsuite\core_tags.py build\lib\jinja2\testsuite\debug.py build\lib\jinja2\testsuite\doctests.py build\lib\jinja2\testsuite\ext.py build\lib\jinja2\testsuite\filters.py build\lib\jinja2\testsuite\imports.py build\lib\jinj a2\testsuite\inheritance.py build\lib\jinja2\testsuite\lexnparse.py build\lib\jinja2\testsuite\loader.py build\lib\jinja2\testsuite\regression.py build\lib\jinja2\testsuite\security.py build\lib\jinja2\testsuite\tests.py build\lib\jinja2\testsuite\utils.py build\lib\jinja2\testsuite\__init__.py buil d\lib\jinja2\testsuite\res\__init__.py build\lib\jinja2\_markupsafe\tests.py build\lib\jinja2\_markupsafe\_bundle.py build\lib\jinja2\_markupsafe\_constants.py build\lib\jinja2\_markupsafe\_native.py build\lib\jinja2\_markupsafe\__init__.py Skipping implicit fixer: buffer Skipping implicit fixer: idioms Skipping implicit fixer: set_literal Skipping implicit fixer: ws_comma Successfully installed jinja2 Cleaning up... C:\Python33\Scripts>