tutos 2018

parent e391755a
1. [Installation et configuration des différents outils](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/tuto_emacs_windows/tuto_emacs_windows.md#1-installation-et-configuration-des-diff%C3%A9rents-outils)
1. [Installer et configurer Emacs](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/tuto_emacs_windows/tuto_emacs_windows.md#11-installer-et-configurer-emacs)
2. [Ajouter les chemins de R et Python dans dans la variable PATH de Windows](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/tuto_emacs_windows/tuto_emacs_windows.md#12-ajouter-les-chemins-de-r-et-python-dans-dans-la-variable-path-de-windows)
3. [Installer et configurer matplotlib (librairie graphique Python)](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/tuto_emacs_windows/tuto_emacs_windows.md#13-installer-et-configurer-matplotlib-librairie-graphique-python)
2. [Utilisation d'Emacs](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/tuto_emacs_windows/tuto_emacs_windows.md#2-utilisation-demacs)
1. [Exécuter des commandes dos](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/tuto_emacs_windows/tuto_emacs_windows.md#21-ex%C3%A9cuter-des-commandes-dos)
2. [Exécuter du code R](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/tuto_emacs_windows/tuto_emacs_windows.md#22-ex%C3%A9cuter-du-code-r)
3. [Exécuter du code Python](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/tuto_emacs_windows/tuto_emacs_windows.md#23-ex%C3%A9cuter-du-code-python)
4. [Écrire dans le journal](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/tuto_emacs_windows/tuto_emacs_windows.md#24-%C3%89crire-dans-le-journal)
# **1 Installation et configuration des différents outils**
## 1.1 Installer et configurer Emacs
- Installer [Emacs modifié pour Windows](https://vigou3.github.io/emacs-modified-windows/)
- version 26.1 pour Windows 64 bits
- version 25.2 pour Windows 32 bits
- Télécharger le fichier [rr_org_archive.tgz](https://app-learninglab.inria.fr/gitlab/learning-lab/mooc-rr-ressources/raw/master/module2/ressources/rr_org_archive.tgz)
Il faut noter qu'avec 7z il faut décompresser l'archive deux fois : une première fois crée une archive `rr_org_archive.tar` et une deuxième fois crée un dossier `rr_org` contenant les fichiers `init.el` et `journal.org`.
- Lancer Emacs
![emacs](documents/tuto_emacs_windows/images/emacs.png)
- Emacs crée le répertoire `C:\Users\***\.emacs.d`
- Placer le fichier `init.el` dedans
- Lancer Emacs
![scratch](documents/tuto_emacs_windows/images/scratch.png)
- Créer un dossier `C:\Users\***\org` dans l'explorateur Windows
- Placer le fichier `journal.org` dedans
---
## 1.2 Ajouter les chemins de R et Python dans dans la variable PATH de Windows
La façon de procéder est très bien expliquée [ici](http://sametmax.com/ajouter-un-chemin-a-la-variable-denvironnement-path-sous-windows/).
---
## 1.3 Installer et configurer matplotlib (librairie graphique Python)
- Installer la librairie `matplotlib`
- Ouvrir une invite de commande dos
- Exécuter la commande suivante
```
python -m pip install -U matplotlib
```
![install_matplotlib](documents/tuto_emacs_windows/images/install_matplotlib.png)
- Désactiver les plots interactifs dans matplotlib
Pour ce faire, il faut d'abord savoir où se trouve le fichier de configuration de matplotlib sous Windows.
Exécuter le code suivant sous Python
```
import matplotlib
matplotlib.matplotlib_fname()
```
![matplotlib](documents/tuto_emacs_windows/images/matplotlib.png)
Ouvrir le fichier `matplotlibrc` et ajouter un `#` devant la ligne qui commence par `backend`, ce qui correspond à utiliser la valeur par défaut `Agg`
---
---
# **2 Utilisation d'Emacs**
## 2.1 Exécuter des commandes dos
- Lancer Emacs
- Créer un fichier toto.org dans l'explorateur Windows
- Ouvrir le fichier toto.org dans Emacs et saisir `<b` + `tab`.
![shell](documents/tuto_emacs_windows/images/shell.png)
- Le raccourci `C-g` permet de sortir d'une commande
---
## 2.2 Exécuter du code R
- Le raccourci `<r` + `tab` permet d'exécuter une commande R
![commandeR1](documents/tuto_emacs_windows/images/commandeR1.png)
Emacs demande le dossier de démarrage. Garder le dossier par défaut (`Entrée`)
![commandeR2](documents/tuto_emacs_windows/images/commandeR2.png)
- Le raccourci `<R` + `tab` permet d'exécuter une commande graphique R
(org-babel-temp-file \"figure\" \".png\") génère un nom de fichier temporaire.
Il faut indiquer un nom de fichier pour que l'image soit chargée lors de la réouverture du fichier Emacs.
![graphiqueR](documents/tuto_emacs_windows/images/graphiqueR.png)
Remarque : Il peut être pratique de remplacer `(org-babel-temp-file \"figure\" \".png\")` par `"D:/temp/figure.png\"` dans dans le fichier `init.el` (raccourci `<R` et `<PP`).
---
## 2.3 Exécuter du code Python
- Voir la page [Python Source Code Blocks in Org Mode](https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-python.html)
- Le raccourci `<p` + `tab` permet d'exécuter du code Python en mode "non-session"
![python1](documents/tuto_emacs_windows/images/python1.png)
- Le raccourci `<P` + `tab` permet d'exécuter du code Python en mode "session" pour conserver les valeurs d'un bloc de code à l'autre.
![python2](documents/tuto_emacs_windows/images/python2.png)
- Le raccourci `<PP` + `tab` permet d'exécuter un graphique Python
![python4](documents/tuto_emacs_windows/images/python4.png)
---
## 2.4 Écrire dans le journal
- Ouvrir le fichier `journal.org`
- Le raccourci `C-c c` ouvre un menu demandant si on veut écrire dans la todo list ou dans le journal
![ctrl_c_c](documents/tuto_emacs_windows/images/ctrl_c_c.png)
- On appuie sur `j` pour écrire dans le journal. Un mini buffer est ouvert et Emacs modifie le fichier `journal.org` pour créer une entrée à la bonne date. On peut commencer à écrire dans le journal.
![org_mode](documents/tuto_emacs_windows/images/org_mode.png)
`C-c C-c` pour enregistrer les modifications.
- La combinaison `Alt`+ `flèche gauche` ou `flèche droite` permet de décaler les puces à gauche ou à droite.
- Penser à enregistrer avant de quitter !
# Ressources complémentaires
- [Installer Git et Gitlab](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session01bis/courseware/66bc811404b8481da5f794de54681c5e/f6580ad8e997400faeffe9af4fd37063/)
- [Définir un proxy dans Git](https://gist.github.com/evantoli/f8c23a37eb3558ab8765)
- [Mémoriser son mot de passe](http://blog.lecacheur.com/2015/11/05/git-le-b-a-ba-memoriser-son-mot-de-passe/)
- [Livre Pro Git](https://git-scm.com/book/fr/v2/)
# Configurer Gitlab
- Accéder à [Gitlab](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session01bis/xblock/block-v1:inria+41016+session01bis+type@lti+block@05a0ce425f1741e5bee5049040f70529/handler/preview_handler)
![sign_in](documents/tuto_git_gtlab/images/sign_in.png)
- NB : Il faut accéder à Gitlab depuis la plateforme FUN. On obtient une erreur 405 en accédant directement à la page https://app-learninglab.inria.fr/gitlab/users/sign_in.
![erreur 405](documents/tuto_git_gtlab/images/erreur405.png)
- Cliquer sur **Sign in**
![projects](documents/tuto_git_gtlab/images/projects.png)
La grande chaîne de caractères remplacée ici par xxx est le login qu'il faudra utiliser dans Git pour accéder à Gitlab.
- Pour définir le mot de passe, il faut aller dans settings
![settings](documents/tuto_git_gtlab/images/settings.png)
- puis dans l'onglet Profile pour définir une adresse mail valide
![profile](documents/tuto_git_gtlab/images/profile.png)
Vous allez recevoir un email de confirmation et il faut cliquer sur le lien de validation.
- Une fois l'adresse validée, elle apparaît comme vérifiée et adresse principale dans l'onglet Emails
![mail](documents/tuto_git_gtlab/images/mail.png)
- Vous pouvez alors cliquer sur « I forgot my password » dans l’onglet password
![password](documents/tuto_git_gtlab/images/password.png)
Vous allez recevoir un email permettant de réinitialiser le mot de passe.
---
# Configurer Git
## Opérations de configuration à faire sur Git (parcours RStudio et OrgMode)
- Enregistrer l'email et le nom de l'utilisateur
```
git config --global --user.email you@example.com
git config --global --user.name Your Name
```
NB : Ne pas mettre de guillemets.
Ces deux paramètres sont obligatoire pour pouvoir commiter sinon on obtient le message suivant
![commit3](documents/tuto_git_gtlab/images/commit3.png)
- Si vous êtes derrière un proxy, il faut le définir dans Git
```
git config --global http.proxy http://proxy.server.com:port
```
On peut aussi définir le proxyUsername pour n'avoir que le mot de passe à saisir
```
git config --global http.proxy http://proxyUsername@proxy.server.com:port
```
- Option pour que le login et mot de passe soient enregistrés pendant 1 heure
```
git config --global credential.helper "cache --timeout=3600"
```
## Commandes pour afficher et effacer des options de configuration (parcours RStudio et OrgMode)
- Afficher les paramètres
```
git config --list
```
- Effacer les mots de passe enregistrés
```
git config --system --unset credential.helper
```
- Effacer le proxy
```
git config --global --unset http.proxy
```
- Effacer le message "git: 'credential-cache' is not a git command."
```
git config --global --unset credential.helper
```
## Opérations de transfert entre Git et Gitlab (parcours OrgMode)
- Récupérer l'adresse du dépôt
![adresse_depot](documents/tuto_git_gtlab/images/adresse_depot.png)
- Cloner le dépôt
```
git clone https://app-learninglab.inria.fr/gitlab/xxx/mooc-rr.git
```
On peut aussi définir l'identifiant pour n'avoir que le mot de passe à saisir
```
git clone https://xxx@app-learninglab.inria.fr/gitlab/xxx/mooc-rr.git
```
Un répertoire `mooc-rr` est créé sur votre ordinateur.
- Se placer dans le répertoire mooc-rr
```
cd mooc-rr
```
- Lister les fichiers du répertoire
```
ls (Unix)
dir (Windows)
```
- Synchroniser Git vers Gitlab
Il faut suivre les fichiers (commande `git add`) et les commiter (commande `git commit`) en local pour pouvoir les transférer sur serveur. La commande `git status` indique le statut des fichiers.
Soit un fichier `fichier.txt` à la racine du répertoire mooc-rr.
```
git status
```
![status1](documents/tuto_git_gtlab/images/status1.png)
```
git add fichier.txt
git status
```
![status2](documents/tuto_git_gtlab/images/status2.png)
```
git commit -m "message commit"
```
![commit_git](documents/tuto_git_gtlab/images/commit_git.png)
```
git status
```
![status3](documents/tuto_git_gtlab/images/status3.png)
On peut alors faire le `git push`pour transférer le fichier sur Gitlab.
```
git push
```
Demande le mot de passe
- NB : Il n'est pas possible de synchroniser vers Gitlab si des modifications ont été faites sur Gitlab et n'ont pas été répercupées en local
![rejected](documents/tuto_git_gtlab/images/rejected.png)
- Synchroniser Gitlab vers Git
```
git pull
```
\ No newline at end of file
*Import in Python*
```python
import pandas as pd
data_url = "https://forge.scilab.org/index.php/p/rdataset/source/file/master/csv/datasets/cars.csv"
df_python = pd.read_csv(data_url)
df_python.drop(df_python.columns[[0]], axis=1, inplace=True)
```
*Summary in SAS*
```python
import saspy
session_sas = saspy.SASsession(cfgname='winlocal')
```
SAS Connection established. Subprocess id is 6920
```python
session_sas
```
Access Method = IOM
SAS Config name = winlocal
WORK Path = /
SAS Version = 9.04.01M1P12042013
SASPy Version = 2.2.7
Teach me SAS = False
Batch = False
Results = Pandas
SAS Session Encoding = WLATIN1
Python Encoding value = windows-1252
```python
df_sas = session_sas.df2sd(df_python)
df_sas.describe()
```
---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-4-efc5eac237bd> in <module>()
1 df_sas = session_sas.df2sd(df_python)
----> 2 df_sas.describe()
f:\program files\python\python37-32\lib\site-packages\saspy\sasbase.py in describe(self)
1508 :return:
1509 """
-> 1510 return self.means()
1511
1512 def means(self):
f:\program files\python\python37-32\lib\site-packages\saspy\sasbase.py in means(self)
1527 code = "proc means data=%s.%s %s stackodsoutput n nmiss median mean std min p25 p50 p75 max; ods output Summary=work._summary; run;" % (
1528 self.libref, self.table, self._dsopts())
-> 1529 return self._returnPD(code, '_summary')
1530 else:
1531 if self.HTML:
f:\program files\python\python37-32\lib\site-packages\saspy\sasbase.py in _returnPD(self, code, tablename, **kwargs)
1107 if 'libref' in kwargs:
1108 libref = kwargs['libref']
-> 1109 ll = self.sas._io.submit(code)
1110 check, errorMsg = self._checkLogForError(ll['LOG'])
1111 if not check:
f:\program files\python\python37-32\lib\site-packages\saspy\sasioiom.py in submit(self, code, results, prompt)
875 self.stdin[0].send(odsclose+logcodei.encode()+b'tom says EOL='+logcodeo+b'\n')
876
--> 877 lstf = lstf.decode()
878 logf = logf.decode()
879
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe8 in position 31798: invalid continuation byte
***Import in Python***
```python
import pandas as pd
data_url = "https://forge.scilab.org/index.php/p/rdataset/source/file/master/csv/datasets/cars.csv"
df_python = pd.read_csv(data_url)
df_python.drop(df_python.columns[[0]], axis=1, inplace=True)
```
***Describe in SAS***
```python
import saspy
session_sas = saspy.SASsession(cfgname='winlocal')
```
SAS Connection established. Subprocess id is 6784
```python
session_sas
```
Access Method = IOM
SAS Config name = winlocal
WORK Path = /
SAS Version = 9.04.01M1P12042013
SASPy Version = 2.2.6
Teach me SAS = False
Batch = False
Results = Pandas
SAS Session Encoding = WLATIN1
Python Encoding value = windows-1252
```python
df_sas = session_sas.df2sd(df_python)
df_sas.describe()
```
<div>
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>Variable</th>
<th>N</th>
<th>NMiss</th>
<th>Median</th>
<th>Mean</th>
<th>StdDev</th>
<th>Min</th>
<th>P25</th>
<th>P50</th>
<th>P75</th>
<th>Max</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>speed</td>
<td>50</td>
<td>0</td>
<td>15</td>
<td>15.40</td>
<td>5.287644</td>
<td>4</td>
<td>12</td>
<td>15</td>
<td>19</td>
<td>25</td>
</tr>
<tr>
<th>1</th>
<td>dist</td>
<td>50</td>
<td>0</td>
<td>36</td>
<td>42.98</td>
<td>25.769377</td>
<td>2</td>
<td>26</td>
<td>36</td>
<td>56</td>
<td>120</td>
</tr>
</tbody>
</table>
</div>
This diff is collapsed.
This diff is collapsed.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Notebook Python"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
# 1 Installer Python
- Installer Python
- Ajouter les chemins de Python et Python\Scripts dans dans la variable PATH de Windows
La façon de procéder est très bien expliquée [ici](http://sametmax.com/ajouter-un-chemin-a-la-variable-denvironnement-path-sous-windows/).
---
# 2 Installer le package Jupyter
- Méthode pour installer un package
- Ouvrir une invite de commande dos
- Exécuter la commande suivante
```
pip install jupyter
```
NB : Le raccourci `^v` ne fonctionne pas dans l'invite de commande dos. La fonction "coller" est disponible avec le bouton droit de la souris.
---
# 3 Lancer Jupyper
- Ouvrir une invite de commande dos
- Exécuter la commande suivante
```
jupyter notebook
```
---
# 4 Autres langages
Jupyper permet par défaut d'exécuter du code Python. Des packages permettent d'exécuter d'autres langages.
## 4.1 Le package R [IRKernel](https://github.com/IRkernel/IRkernel) permet d'exécuter du code R dans un notebook R
- Lancer R ou RStudio
- Installer le package devtools
```
install.packages('devtools',dep=TRUE)
```
- Définir le proxy le cas échéant
```
library(httr)
set_config(use_proxy(url="proxy", port=80, username="username", password="password"))
```
- Installer IRkernel
```
devtools::install_github('IRkernel/IRkernel')
IRkernel::installspec() # to register the kernel in the current R installation
```
- On peut alors créer un notebook R
![new_notebook](documents/tuto_jupyter_windows/images/new_notebook.png)
![notebook_R](documents/tuto_jupyter_windows/images/notebook_R.png)
On remarque l'icône du logiciel R en haut à droite.
- [Exemple de notebook R](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/notebooks_jupyter/notebook_R/notebook_R.ipynb)
- Lien utile : http://r.789695.n4.nabble.com/Problem-with-IRkernel-Installation-Solved-Instructions-on-how-to-Solve-it-td4727912.html
---
## 4.2 Le package Python **rpy2** permet d'exécuter du code R dans un notebook Python
- Le package `rpy2` s'installe difficilement par méthode standard.
- Télécharger le fichier binaire qui correspond au système d'exploitation [ici](https://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2)
- Ouvrir une invite de commande dos
- Se placer dans le dossier de télécharment
- Exécuter la commande suivante
```
python -m pip install rpy2‑2.9.4‑cp37‑cp37m‑win_amd64.whl # adapter le nom du fichier
```
- Lancer Jupiter et créer un notebook Python
- Exécuter la commande suivante
```
%load_ext rpy2.ipython
```
- Installer le package `tzlocal` à l'aide de la commande `pip`
- [Exemple de notebook Python/R](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/notebooks_jupyter/notebook_Python_R/notebook_Python_R.ipynb)
- Lien utile : https://stackoverflow.com/questions/14882477/rpy2-install-on-windows-7
NB : Je n'ai pas eu besoin de définir les variables d'environnement R_HOME et R_USER.
---
## 4.3 Le package Python [SASKernel](https://sassoftware.github.io/sas_kernel/) permet d'exécuter du code SAS dans un notebook SAS
- Installer le package `sas_kernel` à l'aide de la commande `pip`
- Modifier le fichier C:\Program Files\Python\Python37\Lib\site-packages\saspy\sascfg_sav.py pour l'adapter à votre système
Dans les deux images ci-dessous, la fenêtre de gauche correspond au fichier initial et celle de droite au fichier modifié.
![sascfg1](documents/tuto_jupyter_windows/images/sascfg1.png)
![sascfg2](documents/tuto_jupyter_windows/images/sascfg2.png)
- On peut alors créer un notebook SAS
![new_notebook](documents/tuto_jupyter_windows/images/new_notebook.png)
![notebook_SAS](documents/tuto_jupyter_windows/images/notebook_SAS.png)
On remarque l'icône du logiciel SAS en haut à droite.
- [Exemple de notebook SAS](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/notebooks_jupyter/notebook_SAS/notebook_SAS.ipynb)
- NB : L'export Jupyter vers pdf ne fonctionne pas pour les sorties HTML et donc SAS. Il est possible de faire l'export depuis pandoc.
- Exporter le document au format HTML
- Exécuter la commande suivante
```
pandoc --variable=geometry:a4paper --variable=geometry:margin=1in notebook_sas.html -o notebook_sas.pdf
```
mais ça ne marche pas pour tous les tableaux et on perd la coloration syntaxique.
- Lien utile : https://sassoftware.github.io/sas_kernel/install.html
---
## 4.4 Le package Python [SASPy](https://sassoftware.github.io/saspy/) permet d'exécuter du code SAS dans un notebook Python
- Installer le package `saspy` à l'aide de la commande `pip`
- [Exemple de notebook Python/SAS] (https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/master/documents/notebooks_jupyter/notebook_Python_SAS/notebook_Python_SAS.ipynb)
- NB : L'export Jupyter vers pdf ne fonctionne pas pour les sorties HTML et donc SAS. Il est possible de faire l'export depuis pandoc.
- Exporter le document au format HTML
- Exécuter la commande suivante
```
pandoc --variable=geometry:a4paper --variable=geometry:margin=1in notebook_sas.html -o notebook_sas.pdf
```
mais ça ne marche pas pour tous les tableaux et on perd la coloration syntaxique.
This diff is collapsed.
---
title: "Tuto Jupyter Windows"
---
https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/blob/master/module2/ressources/jupyter_fr.org
[FUN : Jupyter : trucs et astuces, Installation et configuration](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/courseware/66bc811404b8481da5f794de54681c5e/f8608bfb261b4c289b35b2cd19d5baf3/3?activate_block_id=block-v1%3Ainria%2B41016%2Bsession02%2Btype%40vertical%2Bblock%404ab5bb42ca1e45c8b0f349751b96d405#installation-et-configuration-de-jupyter-sur-votre-ordinateur)
# 1 Installer Python
- Installer Python
- Ajouter les chemins de Python et Python\\Scripts dans la variable PATH de Windows
La façon de procéder est très bien expliquée [ici](http://sametmax.com/ajouter-un-chemin-a-la-variable-denvironnement-path-sous-windows/).
---
# 2 Installer le package Jupyter
- Méthode pour installer un package
- Ouvrir une invite de commande dos
- Exécuter la commande suivante
```
pip install jupyter
```
NB : Le raccourci `^v` ne fonctionne pas dans l'invite de commande dos. La fonction "coller" est disponible avec le bouton droit de la souris.
---
# 3 Lancer Jupyper
- Ouvrir une invite de commande dos
- Exécuter la commande suivante
```
jupyter notebook
```
---
# 4 Autres langages
Jupyper permet par défaut d'exécuter du code Python. Des packages permettent d'exécuter d'autres langages.
## 4.1 Le package R [IRkernel](https://irkernel.github.io/installation/) permet d'exécuter du code R dans un notebook R
- Lancer R ou RStudio
- Installer le package IRkernel
```
install.packages("IRkernel",dep=TRUE)
IRkernel::installspec() # to register the kernel in the current R installation
```
```
> packageVersion("IRkernel")
[1] ‘1.1’
```
---
Anciennement :
- Installer le package devtools
```
install.packages('devtools',dep=TRUE)
```
- Définir le proxy le cas échéant
```
library(httr)
set_config(use_proxy(url="proxy", port=80, username="username", password="password"))
```
- Installer IRkernel
```
devtools::install_github('IRkernel/IRkernel')
IRkernel::installspec() # to register the kernel in the current R installation
```
- Lien utile : http://r.789695.n4.nabble.com/Problem-with-IRkernel-Installation-Solved-Instructions-on-how-to-Solve-it-td4727912.html
## 4.2 Le package Python **rpy2** permet d'exécuter du code R dans un notebook Python
- Le package `rpy2` s'installe difficilement par méthode standard.
- Télécharger le fichier binaire qui correspond au système d'exploitation [ici](https://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2)
- Ouvrir une invite de commande dos
- Se placer dans le dossier de télécharment
- Exécuter la commande suivante
```
python -m pip install rpy2‑2.9.4‑cp37‑cp37m‑win_amd64.whl # adapter le nom du fichier
```
- Lancer Jupiter et créer un notebook Python
- Exécuter la commande suivante
```
%load_ext rpy2.ipython
```
- S'il y a un message d'erreur `ModuleNotFoundError`, le nom du module manquant est indiqué à la fin du [message](https://app-learninglab.inria.fr/gitlab/85bc36e0a8096c618fbd5993d1cca191/mooc-rr/blob/5a2d28a2b1c0491ffa6b9665e384d769e27e1296/documents/tuto_jupyter_windows/tzlocal_not_found.html)
- Installer le module manquant avec la commande pip. (Le module tzlocal peut être installé directement. Il n'est pas nécessaire de le télécharger.)
- Lien utile : https://stackoverflow.com/questions/14882477/rpy2-install-on-windows-7
NB : Je n'ai pas eu besoin de définir les variables d'environnement R_HOME et R_USER.
## 4.3 Le package Python [SASKernel](https://sassoftware.github.io/sas_kernel/) permet d'exécuter du code SAS dans un notebook SAS
- Installer le package `sas_kernel` à l'aide de la commande `pip`
- Modifier le fichier C:\\Program Files\\Python\\Python37\\Lib\\site-packages\\saspy\\sascfg_sav.py pour l'adapter à votre système
Dans les deux images ci-dessous, la fenêtre de gauche correspond au fichier initial et celle de droite au fichier modifié.
![sascfg1](D:/inserm/mooc/recherche_reproductible/mooc-rr/documents/tuto_jupyter_windows/images/sascfg1.png)
![sascfg2](D:/inserm/mooc/recherche_reproductible/mooc-rr/documents/tuto_jupyter_windows/images/sascfg2.png)
- Installer le package `pandas` à l'aide de la commande `pip`
- Ajouter le chemin C:\\Program Files\\SASHOME\\SASFoundation\\9.4\\core\\sasext dans la variable PATH de Windows
- Lien utile : https://sassoftware.github.io/sas_kernel/install.html
---
- Problèmes rencontrés
```
Pandas module not available.
```
--> Installer le package `pandas` à l'aide de la commande `pip`
```
Attempted to run program C:\\Program Files\\SASHome\\SASPrivateJavaRuntimeEnvironment\\9.4\\jrin\\java
```
--> Vérifier que tous les antislashs sont doublés
```
Be sure the path to sspiauth.dll is in your System PATH
```
--> Ajouter le chemin C:\\Program Files\\SASHOME\\SASFoundation\\9.4\\core\\sasext dans la variable PATH de Windows
---
## 4.4 Le package Python [SASPy](https://sassoftware.github.io/saspy/) permet d'exécuter du code SAS dans un notebook Python
- Installer le package `saspy` à l'aide de la commande `pip`
This diff is collapsed.
# 1 Installer Magit
Plusieurs méthodes sont proposées [ici] (https://magit.vc/manual/magit/Installing-from-an-Elpa-Archive.html).
Celle-ci a été testée sur Windows :
- Ajouter le code suivant dans le fichier `.emacs.d/init.el`
```
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/") t)
```
- Lancer Emacs et exécuter les commandes suivantes
```
M-x package-refresh-contents RET
M-x package-install RET magit RET
```
NB : `M-` correspond à la touche `<Alt>`, `RET` à la touche `<Entrée>`
# 2 Lancer Magit
- Ouvrir un fichier et exécuter le racourci `C-x g`
- Magit demande le chemin du répertoire Git
- Indiquer le chemin du répertoire mooc-rr
![git1](documents/tuto_magit/images/git1.png)
\ No newline at end of file
# Dans Git
- Enregistrer l'email et le nom de l'utilisateur
```
git config --global --user.email you@example.com
git config --global --user.name Your Name
```
NB : Ne pas mettre de guillemets.
Ces deux paramètres sont obligatoire pour pouvoir commiter sinon on obtient le message suivant
![commit3](documents/tuto_rstudio_gitlab/images/commit3.png)
- Si vous êtes derrière un proxy, il faut le définir dans Git
```
git config --global http.proxy http://proxy.server.com:port
```
On peut aussi définir le proxyUsername pour n'avoir que le mot de passe à saisir
```
git config --global http.proxy http://proxyUsername@proxy.server.com:port
```
- Option pour que le login et mot de passe soient enregistrés pendant 1 heure
```
git config --global credential.helper "cache --timeout=3600"
```
# Dans RStudio
- File / New Project / Version Control
![new_project](documents/tuto_rstudio_gitlab/images/new_project.png)
![git](documents/tuto_rstudio_gitlab/images/git.png)
- Récupérer l'adresse du dépôt
![adresse_depot](documents/tuto_rstudio_gitlab/images/adresse_depot.png)
- Indiquer l'adresse du dépôt dans le champ "Repository URL"
- Il est possible de faire précéder l'adresse du dépôt par `xxx@`, xxx étant l'identifiant Gitlab, pour ne pas avoir à le renseigner par la suite
![clone](documents/tuto_rstudio_gitlab/images/clone.png)
- Si vous êtes derrière un proxy, il faut le définir dans Git
- Git demande le mot de passe du proxy
![password_proxy](documents/tuto_rstudio_gitlab/images/password_proxy.png)
- Git se connecte à Gitlab et récupère l'ensemble des données
- RStudio redémarre pour se placer dans un mode lié à Git
![rstudio](documents/tuto_rstudio_gitlab/images/rstudio.png)
- Module2 / exo1 / toy_document.Rmd
- Modifier le fichier
- Sauvegarder
- Aller dans Git pour effectuer le commit
![commit](documents/tuto_rstudio_gitlab/images/commit.png)
![commit2](documents/tuto_rstudio_gitlab/images/commit2.png)
- Sélectionner les lignes à commiter puis cliquer sur "commit"
![commit5](documents/tuto_rstudio_gitlab/images/commit5.png)
Les modifications sont pour l'instant uniquement sur la machine. Elles n'ont pas été propagées sur Gitlab.
- Cliquer sur "push" pour les propager sur Gitlab
![push](documents/tuto_rstudio_gitlab/images/push.png)
![push2](documents/tuto_rstudio_gitlab/images/push2.png)
![push3](documents/tuto_rstudio_gitlab/images/push3.png)
- NB : Il n'est pas possible de synchroniser vers Gitlab si des modifications ont été faites sur Gitlab et n'ont pas été répercupées en local
![push4](documents/tuto_rstudio_gitlab/images/push4.png)
- Cliquer sur "pull" pour synchroniser Gitlab vers Git
\ No newline at end of file
Version: 1.0
RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default
EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 2
Encoding: UTF-8
RnwWeave: Sweave
LaTeX: pdfLaTeX
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment