XD blog

blog page

installation


2014-02-26 Installer Python pour faire des statistiques

L'environnement que je suggère est celui que j'utilise pour préparer mes cours. Il permet d'utiliser les outils que je propose et d'obtenir un espace de travail équivalent à celui que propose R. Plusieurs options sont possibles :

Je poursuivrai par l'installation de pyensae, et je terminerai par la configuration de l'éditeur SCite qui est, de mon point de vue, le plus simple éditeur qui soit mais il fait bien ce pour quoi il est fait.

2014/10/25

Si je devais choisir une distribution, ce serait Anaconda. C'est la plus à jour et la plus complète. Une fois installée, elle devient la distribution par défaut sous Linux. Cela évite les confusions entre les différentes versions de Python (Python 2.7 est installée par défaut). Sous Windows, elle est plus complète que WinPython. Elle inclut notamment le package paramiko dont je me sers pour ouvrir une connexion SSH avec un serveur Linux et utiliser PIG.

Préliminaire

Il existe deux numéros de versions important à retenir :

Une fois choisis ces deux numéros de versions pour l'installation de Python, si ces versions sont précisées pour un module, alors il faudra choisir exactement ces deux mêmes versions.

WinPython

Le site WinPython propose une distribution de Python qui inclut à la fois le langage et tous les modules nécessaires pour faire des statistiques. Il n'inclut pas pygame. Sous Windows, l'installation est simple, il suffit seulement de choisir un répertoire d'installation. Tout se fera dans ce répetoire. Celui que j'ai choisi est C:\monpython. WinPython aura créé un répertoire c:\monpython\logiciel\WinPython-64bit-3.3.3.2.

Installation de pyensae

C'est le seul inconvénient de cette distribution est qu'il est impossible, sous Windows, d'utiliser un nouveau module en l'installant avec un exécutable (comme ceux que je propose sur cette page. Au lieu de cela, il faut ouvrir une fenêtre de commande (taper cmd dans la barre de recherche). On obtient une fenêtre noire comme ceci :

Ensuite on tape les commandes suivantes :

cd C:\monpython\WinPython-64bit-3.3.3.2\python-3.3.3.amd64\Scripts
pip install pyensae --pre

Cela installera les dépendances nécessaires. Le court exemple décrit ici fonctionnera. Le répertoire c:\monpython\logiciel\WinPython-64bit-3.3.3.2 contient différent exécutables qui correspondent à différentes éditeurs ou lignes de commande qui fonctionnent tous sans autre modification.

Installation de SCite

Pour installer SCite, il faut télécharger le fichier full download et le dézipper à l'endroit que vous souhaitez. Pour utiliser le Python de WinPython, il faut modifier le chemin de l'interpréteur dans le menu Options / Python Properties.

Tout en bas, il modifier les chemins de Python comme ceci :

if PLAT_WIN
	command.go.*.py=C:\monpython\WinPython-64bit-3.3.3.2\python-3.3.3.amd64\pythonw -u "$(FileNameExt)"
	command.go.subsystem.*.py=1
	command.go.*.pyw=C:\monpython\WinPython-64bit-3.3.3.2\python-3.3.3.amd64\pythonw -u "$(FileNameExt)"
	command.go.subsystem.*.pyw=1
	command.build.SConscript=scons.bat --up .
	command.build.SConstruct=scons.bat .

Pour finir, il vous suffit, dans l'explorateur, de créer des raccourcis sur le bureau.

Remarque à propos de cvxopt (et d'autres modules) sous Windows :

Le module cvxopt ne fait pas partie de la distribution. Sous Windows, l'installation est relativement facile depuis ce site mais le setup installe cvxopt uniquement si la version standard de Python est installée (voir paragraphe suivante. Le plus simple est d'installer Python et cvxopt, puis de recopier le répertoire C:\Python33\Lib\site-packages\cvxopt dans le répertoire C:\monpython\WinPython-64bit-3.3.3.2\python-3.3.3.amd64\Lib\site-packages.

Anaconda

C'est la plus complète et la plus réactive. C'est celle que je recommande. Elle inclut le module paramiko que j'utilise pour créer une connexion SSH sur un cluster Hadoop. Pour lancer les notebooks, il suffit d'ouvrir une fenêtre Terminal et d'écrire ipython notebook. Le notebook se lance avec comme répertoire courant /users/<user>. La fenêtre terminal ressemble à ceci :

Canopy

J'avoue que je ne l'ai pas essayée.

Python standard

L'installation est un peu plus répétitive et il faut faire attention à ne pas se tromper de version. On commence par installer Python pour Windows. Ensuite, on répète la même opération pour tous les modules nécessaires depuis ce site Unofficial Windows Binaries for Python Extension Packages, à savoir :

Après avoir installé les deux premiers modules, il est possible d'éviter certaines étapes en utilisant pip install [module]. Ce mécanisme gère automatiquement les dépendances. Il marche très bien sous Linux mais il peut échouer sous Windows (pour des questions de compilateur C/C++).

Pour faciliter l'installation, vous pouvez également utiliser le module pymyinstall. Après avoir installé les deux premiers modules (pip et setuptools uniquement pour les versions <= 3.3), il suffit d'installer ce module puis d'exécuter le script :

from pymyinstall import datascientist
datascientist("install")

Il faudra cliquer quelques fois pour continuer l'installation mais cela devrait s'effectuer sans problèmes.

Installation de pyensae

C'est pareil mais d'un site différent :

Installation de SCiTe

L'installation de SCiTe est déjà décrite plus haut. Seul change le chemin d'accès à l'interpréteur Python :

if PLAT_WIN
	command.go.*.py=C:\Python33\pythonw -u "$(FileNameExt)"
	command.go.subsystem.*.py=1
	command.go.*.pyw=C:\Python33\pythonw -u "$(FileNameExt)"
	command.go.subsystem.*.pyw=1
	command.build.SConscript=scons.bat --up .
	command.build.SConstruct=scons.bat .

Si un module manque, le premier réflexe est de regarder la mentionnées plus haut et qui contient un lien vers des setup pour la plupart des modules courants.

2014/07/30

Un ami m'a parlé du site chocolatey qui propose un moyen plus simple d'installer un module. La liste des modules disponibles va en s'accroissant.

Conclusion

J'ai présenté deux façons d'installer le langage Python et ses principaux modules. WinPython permet d'obtenir aisément un environnement prévu pour faire des expériences statistiques. C'est un kit un kit d'installation. Dans l'autre cas, il faut assembler les pièces détachées. Pour débugger, c'est assez simple avec l'outil Spyder inclus dans WinPython. Il existe aussi PyCharm ou WingIDE. Il a l'avantage de souligner en rouge toutes les variables qu'il ne reconnaît pas. Ca permet de vite s'apercevoir de quelques erreurs d'écriture.

Le dernier sera à propos des tabulations. J'ai pour habitude d'enlever toutes les tabulations pour les remplacer par des espaces. Lorsqu'on mélange tabulations et espaces avec SciTe, on voit ce genre de tirets bleus apparaître :

Cela crée parfois des problèmes d'indentation que l'interpréteur Python n'arrive pas à résoudre. Lorsqu'on passe de Mac à Windows, d'un éditeur à un autre, les espaces sont plus sûrs.


Xavier Dupré