ENSAE, Python Setup

Distribution Python pour les élèves de l'ENSAE. Elle inclut Python, R, Scite, SQLiteSpy, 7z, un lecteur de flux RSS, les principaux modules pandas, numpy, Jupyter, Spyder, Rodeo, la plupart des notebooks accessibles depuis ENSAE - Programmation - Xavier Dupré. La distribution, une fois installée, n'est pas portable. Elle utilise Jupyter 4 qui permet d'utiliser des notebooks Python ou R (voir photo sur la gauche).

Par défault le setup s'installe dans le répertoire Program Files et créé un répertoire Program Files\PythonENSAE\workspace dans lequel les notebooks seront enregistrés. Cela produira l'erreur Permission denied car une application n'est pas censée écrire à cet endroit. Il est préférable de l'installer ailleurs ou de lire le dernier paragraphe.

Le setup ne fonctionne que sur Windows dont il ne modifie pas les registres. Le répertoire principal contient les raccourcis vers les applications souhaitées. Ceux-ci sont liés aux fichiers *.bat du répertoire config (voir photo sur la droite). Sous Linux et Mac, la distribution Anaconda (choisir la version 3.5) propose des fonctionnalités similaires (excepté R qu'il faudra installer soi-même). Le setup a été construit grâce à la fonction win_python_setup du module pymyinstall.

Mise à jour d'une installation

C'est la première chose à faire avant toute autre chose.

Setup et distribution standard

Ce procédé fonctionne également pour les distributions sous Linux/Mac ou pour ceux qui souhaitent installer tous les modules pour la version 32 bit de Python. Depuis de le répertoire Scripts, il faut taper :

pip3 install pymyinstall --upgrade
pymy_install3
pymy_update3

Si cela ne marche pas sur Windows, il faut se placer dans le répertoire de Python et écrire (cette astuce fonctionne également pour la disbribution WinPython) :

Scripts\pip3 install pymyinstall --upgrade
Scripts\pymy_install3
Scripts\pymy_update3

Les deux dernières instructions peuvent être relancées si elles échouent. Elles peuvent être relancées périodiquement pour mettre à jour l'installation. La toute première exécution peut prendre quelques heures.

Anaconda

Il faut se place dans le répertoire Scripts et écrire :

conda update --all

Installer pyensae

Si pip3 ne marche pas, il faut essayer pip3.5 ou pip.

pip3 install pymyinstall --upgrade
pymy_install3 pyensae --deep-deps

Versions installées

Les modules installés sont décrit à : Python pour un Data Scientist (description brève, licence).

Et Linux/Mac ?

L'option la plus confortable reste l'installation de Anaconda. Pour installer la version officielle de Python 3.5 et la plupart des modules inclus dans ce setup, il faut suivre les instructions décrites à Install Python 3.4 with packages for a Data Scientist on Linux qui ne changent pas pour la version 3.5.

Listes des modules inclus (Python)

Le setup est prévu pour un usage académique. Pour un usage professionnel, il faudra vérifier la license associée à chacun d'entre eux : Python pour un Data Scientist.

APScheduler	3.0.5
BTrees	4.2.0
Babel	1.3
Bottleneck	1.0.0
CVXcanon	0.0.23
Cartopy	0.13.1
CherryPy	5.1.0
Cython	0.23.4
DataSpyre	0.2.0
Django	1.7.1
Fabric	1.10.2
Flask	0.10.1
Flask-Cors	2.1.2
Flask-Login	0.3.2
Flask-SQLAlchemy	2.1
GDAL	2.0.2
HeapDict	1.0.0
Hebel	0.2.1
Jinja2	2.8
Keras	0.3.2
Kivy	1.9.1
Kivy-Garden	0.1.4
Lasagne	0.1
Logbook	0.12.5
Mako	1.0.4
Markdown	2.6.5
MarkupSafe	0.23
Mezzanine	4.1.0
NLopt	2.4.2
Nuitka	0.5.19
PIMS	0.3.3
Pillow	2.6.1
Pmw	2.0.1
PuLP	1.6.1
PyAudio	0.2.9
PyContracts	1.7.6
PyExecJS	1.1.0
PyMySQL	0.7.2
PyOpenGL-accelerate	3.1.0
PyQt4	4.11.4
PyReact	0.6.0
PyWavelets	0.4.0
PyX	0.14.1
PyYAML	3.11
Pygments	2.1.3
PythonQwt	0.5.5
QtPy	0.1.3
Quandl	2.8.9
SQLAlchemy	1.0.12
Shapely	1.5.13
Sphinx	1.3.6
Theano	0.7.0
Unidecode	0.4.19
Versio	0.2.1
VideoCapture	0.9.5
Werkzeug	0.11.4
Whoosh	2.7.2
XlsxWriter	0.8.4
abcpmc	0.1.2
actuariat-python	0.1.177
alabaster	0.7.7
amqp	1.4.9
ansi2html	1.1.1
ansiconv	1.0.0
antlr4-python3-runtime	4.5.2.1
anyjson	0.3.3
appdirs	1.4.0
apscheduler	3.0.5
astroid	1.4.4
astropy	1.1.2
autopep8	1.2.2
autopy3	0.51.1
azure-batch-apps	0.5.2
azure-common	1.1.1
azure-mgmt	0.20.2
azure-mgmt-common	0.20.0
azure-mgmt-compute	0.20.1
azure-mgmt-network	0.20.1
azure-mgmt-nspkg	1.0.0
azure-mgmt-resource	0.20.1
azure-mgmt-storage	0.20.0
azure-nspkg	1.0.0
azure-servicebus	0.20.1
azure-servicemanagement-legacy	0.20.2
azure-storage	0.30.0
azureml	0.2.6
babel	1.3
backports-abc	0.4
basemap	1.0.8
bayespy	0.4.1
bcolz	0.12.1
beautifulsoup4	4.4.1
bigfloat	0.3.0
billiard	3.3.0.23
bitarray	0.8.1
blaze	0.9.1
bleach	1.4.2
blist	1.3.6
blocks	0.2.0
blosc	1.2.8
blz	0.6.2
bokeh	0.11.1
boto	2.39.0
boto3	1.2.6
botocore	1.4.3
bottleneck	1.0.0
bqplot	0.5.5
brewer2mpl	1.4.1
btrees	4.2.0
bz2file	0.98
cached-property	1.3.0
cartopy	0.13.1
celery	3.1.17
certifi	2016.2.28
cffi	1.5.2
chardet	2.3.0
cherrypy	5.1.0
chest	0.2.3
click	6.3
cloud-sptheme	1.7.1
cloudpickle	0.2.1
code-beatrix	0.5.157
codecov	1.6.3
colorama	0.3.7
colormap	0.9.8
colorspacious	1.0.0
comtypes	1.1.2
coverage	4.0.3
cryptography	1.2.3
cssselect	0.9.1
cubehelix	0.1.0
cuda4py	1.3.4
cvxcanon	0.0.23
cvxopt	1.1.7
cvxpy	0.3.8
cycler	0.10.0
cymem	1.30
cyordereddict	1.0.0
cython	0.23.4
cytoolz	0.7.5
dask	0.8.1
datashape	0.5.1
dataspyre	0.2.0
datrie	0.7.1
dbf	0.96.5
dbfread	2.0.5
deap	1.0.2
decorator	4.0.9
dev	0.4.0
dill	0.2.5
distributed	1.9.1
django	1.7.1
django-audiotracks	0.2.4
django-celery	3.1.16
django-configurations	0.8
django-contrib-comments	1.6.2
django-environ	0.3.0
django-guardian	1.3.1
django-model-utils	2.2
django-storages	1.1.8
django-userena	1.3.1
django-uuidfield	0.5.0
docopt	0.6.2
docutils	0.11
dynd	0.7.1
easy-thumbnails	2.3
easydev	0.9.14
ecdsa	0.13
ecos	2.0.4
ensae-teaching-cs	0.7.1052
envoy	0.0.3
epfl-sphinx-theme	1.1.1
et-xmlfile	1.0.1
ete3	3.0.0b33
fabric	1.10.2
fastcluster	1.1.20
feedparser	5.2.1
filebrowser-safe	0.4.3
flake8	2.5.4
flask	0.10.1
flask-cors	2.1.2
flask-login	0.3.2
flask-sqlalchemy	2.1
folium	0.2.0
fuel	0.1.1
future	0.15.2
futures	2.2.0
gatspy	0.2.1
gdal	2.0.2
gensim	0.12.4
geopy	1.11.0
gevent	1.1b6
ggplot	0.6.8
glueviz	0.7.0
gmpy2	2.0.7
goslate	1.4.0
grab	0.6.30
grappelli-safe	0.4.2
greenlet	0.4.9
grequests	0.3.0
guidata	1.7.5
guiqwt	3.0.2
gunicorn	19.1.1
guzzle-sphinx-theme	0.7.11
h5py	2.5.0
hachibee-sphinx-theme	0.2.5
heapdict	1.0.0
heatmap	2.2.1
hebel	0.2.1
holoviews	1.4.3
html2text	2014.12.29
html5lib	0.9999999
httpretty	0.8.10
husl	4.0.3
idna	2.0
imageio	1.5
imbox	0.7
invoke	0.12.2
ipykernel	4.3.1
ipyparallel	5.0.1
ipython	4.1.2
ipython-genutils	0.1.0
ipywidgets	4.1.1
itcase-sphinx-theme	0.2.0
itsdangerous	0.24
jaraco.structures	1.0
jaraco.util	11.0
jaraco.video	2.0
jdcal	1.2
jedi	0.9.0
jieba	0.38
jinja2	2.8
jmespath	0.9.0
joblib	0.9.4
jsonschema	2.5.1
jupyter	1.0.0
jupyter-client	4.2.2
jupyter-console	4.1.1
jupyter-core	4.1.0
jupyter-pip	0.3
keras	0.3.2
keyring	8.5
kivy	1.9.1
kivy-garden	0.1.4
kombu	3.0.24
la	0.7.0.dev0
lasagne	0.1
lazy-object-proxy	1.2.1
libLAS	1.8.0
liblas	1.8.0
liblinear	2.1
libsvm	3.21
lifelines	0.9.0.0
line-profiler	1.0
llvmlite	0.9.0
localshop	0.9.3
locket	0.2.0
lockfile	0.12.2
logbook	0.12.5
luigi	2.0.1
lxml	3.5.0
lz4	0.7.0
mahotas	1.4.1
mako	1.0.4
marisa-trie	0.7.2
markdown	2.6.5
markdown2	2.3.0
markupsafe	0.23
matplotlib	1.5.1
mccabe	0.4.0
memory-profiler	0.41
metakernel	0.12.3
mezzanine	4.1.0
milk	0.6.1
minepy	1.0.0
mistune	0.7.2
mlpy	3.5.0
mock	1.3.0
moviepy	0.2.2.11
mpld3	0.2
mpmath	0.19
msgpack-python	0.4.7
multi-key-dict	2.0.3
multimethods	1.0.0
multipledispatch	0.4.8
multiprocess	0.70.4
murmurhash	0.26.1
mutagenx	1.22
mysqlclient	1.3.7
natsort	4.0.4
nbconvert	4.1.0
nbformat	4.0.1
nbupload	0.0.3
netCDF4	1.2.3.1
netaddr	0.7.12
netcdf4	1.2.3.1
networkx	1.11
neural-python	0.0.7
nitime	0.6
nlopt	2.4.2
nltk	3.2
nodeenv	0.13.6
nose	1.3.7
notebook	4.1.0
notedown	1.5.0
nuitka	0.5.19
numba	0.24.0
numexpr	2.5
numpy	1.10.4
oauthlib	1.0.3
odo	0.4.2
onedrivesdk	1.0.4
opencv-python	3.1.0
openpyxl	2.3.3
osmapi	0.6.2
pandas	0.17.1
pandas-datareader	0.2.1
pandas-highcharts	0.5.2
pandoc-attributes	0.1.7
pandocfilters	1.3.0
param	1.3.2
paramiko	1.16.0
partd	0.3.2
passlib	1.6.5
path.py	8.1.2
patsy	0.4.1
pbr	1.8.1
pep8	1.5.7
persistent	4.1.1
picklable-itertools	0.1.1
pickleshare	0.6
pillow	2.6.1
pims	0.3.3
pip	8.1.0
pipdeptree	0.5.0
pkginfo	1.2.1
plac	0.9.1
planar	0.4
ply	3.8
pmw	2.0.1
preshed	0.46.2
progressbar2	3.6.2
protobuf	3.0.0b2.post2
psutil	4.0.0
psycopg2	2.6.1
pulp	1.6.1
py	1.4.31
py4j	0.9.1
pyOpenSSL	0.15.1
pyasn1	0.1.9
pyaudio	0.2.9
pycontracts	1.7.6
pycosat	0.6.1
pycparser	2.14
pycrypto	2.7a2
pycryptodomex	3.4.2
pycuda	2016.1
pycurl	7.43.0
pyensae	1.1.426
pyexecjs	1.1.0
pyflakes	1.0.0
pygal	2.1.1
pygal-maps-world	1.0.2
pygame	1.9.2a0
pygit2	0.24.0
pygments	2.1.3
pylint	1.5.4
pylzma	0.4.8
pymatbridge	0.5.2
pymc	2.3.6
pymc3	3.0
pymmails	0.2.158
pymongo	3.2.1
pymssql	2.1.2
pymvpa2	2.4.2
pymyinstall	1.1.798
pymysql	0.7.2
pyodbc	3.0.10
pyopengl-accelerate	3.1.0
pyopenssl	0.15.1
pyparsing	2.1.0
pypiserver	1.1.10
pypiwin32	219
pypmc	1.0
pyprofiler	65
pyproj	1.9.5
pyqt4	4.11.4
pyqtgraph	0.9.10
pyquickhelper	1.3.1110
pyreact	0.6.0
pyreadline	2.1
pyrsslocal	0.8.160
pyshp	1.2.3
pysmi	0.0.7
pysnmp	4.3.2
pystache	0.5.4
pysterior	0.1.5
pytest	2.9.0
python-daemon	2.1.1
python-dateutil	2.5.0
python-docx	0.8.5
python-gmaps	0.3.0
python-igraph	0.7.1.post6
python-jenkins	0.4.12
python-linkedin	4.1
python-pptx	0.5.8
pythonnet	2.1.1
pythonqwt	0.5.5
pytils	0.3
pytool	3.4.1
pytools	2016.1
pytz	2015.7
pywavelets	0.4.0
pywin32-ctypes	0.0.1
pyx	0.14.1
pyxley	0.0.9
pyyaml	3.11
pyzmq	15.2.0
qgrid	0.3.0
qtconsole	4.2.0
qtpy	0.1.3
quandl	2.8.9
queuelib	1.4.2
redis	2.10.5
requests	2.9.1
requests-cache	0.4.11
requests-file	1.4
requests-oauthlib	0.6.1
rodeo	0.4.4
rope-py3k	0.9.4.post1
rpy2	2.7.8
sas7bdat	2.0.7
scikit-image	0.12.3
scikit-learn	0.17.1
scilab2py	0.6
scipy	0.17.0
scoop	0.7.1.1
scs	1.2.2
seaborn	0.7.0
selection	0.0.11
selenium	2.52.0
semantic-version	2.5.0
semver	2.4.1
setproctitle	1.1.9
setuptools	20.2.2
shapely	1.5.13
simplegeneric	0.8.1
simplejson	3.8.2
six	1.10.0
skdata	0.0.4
slicerator	0.9.7
smart-open	1.3.2
smopy	0.0.3
snakeviz	0.4.0
snowballstemmer	1.2.1
sockjs-tornado	1.0.2
solar-theme	1.3.2
spacy	0.100.6
sphinx	1.3.6
sphinx-better-theme	0.13
sphinx-bootstrap-theme	0.4.8
sphinx-corlab-theme	0.1.3
sphinx-docs-theme	0.1.2
sphinx-py3doc-enhanced-theme	2.3.2
sphinx-readable-theme	1.3.0
sphinx-rtd-theme	0.1.9
sphinxcontrib-images	0.7.0
sphinxcontrib-imagesvg	0.1
sphinxcontrib-jsdemo	0.1.4
sphinxcontrib-lunrsearch	0.2
sphinxjp.themecore	0.2.0
sphinxjp.themes.basicstrap	0.4.3
sphinxjp.themes.gopher	0.1.0
sphinxjp.themes.htmlslide	0.1.4
sphinxjp.themes.revealjs	0.3.0
sphinxjp.themes.sphinxjp	0.3.1
sphinxtrap	0.2.3
sputnik	0.9.2
spyder	2.3.8
sqlalchemy	1.0.12
sqlite-bro	0.8.11
sqlparse	0.1.19
statsmodels	0.6.1
structures	2.0.2
suds-jurko	0.6
supersmoother	0.3.2
sympy	1.0
tables	3.2.2
tblib	1.3.0
text-unidecode	1.0
textblob	0.11.1
theano	0.7.0
thinc	5.0.6
thriftpy	0.3.5
tifffile	2016.2.22
tinydb	3.1.3
toolz	0.7.4
tornado	4.3
tqdm	3.8.0
trackpy	0.3.0
traitlets	4.1.0
triangle	20160203
tutormagic	0.1.0
tweepy	3.5.0
typecheck-decorator	1.3
typing	3.5.0.1
tzlocal	1.2.2
ujson	1.35
unidecode	0.4.19
untangle	1.1.0
urllib3	1.14
user-agent	0.1.1
versio	0.2.1
videocapture	0.9.5
vincent	0.4.4
virtualenv	15.0.0
viscm	0.7
vispy	0.4.0
w3lib	1.13.0
weblib	0.1.20
werkzeug	0.11.4
wget	3.2
wheel	0.29.0
whoosh	2.7.2
wild-sphinx-theme	1.0.0
winshell	0.6
wordcloud	1.2.1
wrapt	1.10.6
xarray	0.7.1
xgboost	0.4
xlrd	0.9.4
xlsxwriter	0.8.4
xlwt	1.0.0
xmltodict	0.10.1
xxhash	0.5.0
zerovm-sphinx-theme	1.1
zipline	0+unknown
zope.exceptions	4.0.8
zope.interface	4.1.2
zs	0.10.0

Listes des packages inclus (R)

(le setup est prévu pour un usage académique, pour un usage professionnel, il faudra vérifier la license associée à chacun d'entre eux) :

ADGofTest	0.3
IRdisplay	0.3
IRkernel	0.5
KernSmooth	2.23-15
MASS	7.3-45
Matrix	1.2-4
R6	2.1.2
actuar	1.2-0
base	3.2.4
base64enc	0.1-3
boot	1.3-18
class	7.3-14
cluster	2.0.3
codetools	0.2-14
compiler	3.2.4
curl	0.9.6
datasets	3.2.4
devtools	1.10.0
digest	0.6.9
evaluate	0.8.3
foreign	0.8-66
git2r	0.13.1
grDevices	3.2.4
graphics	3.2.4
grid	3.2.4
httr	1.1.0
jsonlite	0.9.19
lattice	0.20-33
magrittr	1.5
memoise	1.0.0
methods	3.2.4
mgcv	1.8-12
mime	0.4
nlme	3.1-125
nnet	7.3-12
openssl	0.9.2
parallel	3.2.4
repr	0.4
rpart	4.1-10
rstudioapi	0.5
rzmq	0.7.7
spatial	7.3-11
splines	3.2.4
stats	3.2.4
stats4	3.2.4
stringi	1.0-1
stringr	1.0.0
survival	2.38-3
tcltk	3.2.4
tools	3.2.4
utils	3.2.4
uuid	0.1-2
whisker	0.3-2
withr	1.0.1
zoo	1.7-12

Modifier l'installation

Par défaut, les notebooks et autres applications utilisent le répertoire workspace. Il est possible de changer cela en modifiant les fichiers .bat dans le répertoire config.