Last active
May 31, 2023 17:46
-
-
Save KevCaz/ff59f3786b673f162eb43ecd912f3e1b to your computer and use it in GitHub Desktop.
Installation et configuration R pour l'équipe ETL
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Installer R et tout ce qu'il faut pour se connecter aux bases de données | |
# d'Omnimed | |
# -- Pre-requis: avoir roulé les omnikools | |
# Miscrosoft ODBC (pour pouvoir interroger des bases de données clients avec R) | |
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15#17 | |
wget -qO - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - | |
sudo wget -qO - https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee -a /etc/apt/sources.list.d/mssql-release.list | |
sudo apt update && sudo apt install -y msodbcsql17 mssql-tools unixodbc | |
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc | |
# Driver Oracle (pour pouvoir interroger des bases de données Omnimed avec R) | |
cd /home/devjava/Applications \ | |
&& wget https://download.oracle.com/otn_software/linux/instantclient/19600/instantclient-basic-linux.x64-19.6.0.0.0dbru.zip -O oic_basic.zip \ | |
&& unzip oic_basic.zip \ | |
&& rm oic_basic.zip | |
cd /home/devjava/Applications \ | |
&& wget https://download.oracle.com/otn_software/linux/instantclient/19600/instantclient-sdk-linux.x64-19.6.0.0.0dbru.zip -O oic_sdk.zip \ | |
&& unzip oic_sdk.zip \ | |
&& rm oic_sdk.zip | |
echo "export LD_LIBRARY_PATH=/home/devjava/Applications/instantclient_19_6 | |
export OCI_LIB=/home/devjava/Applications/instantclient_19_6" >> ~/.bashrc | |
source ~/.bashrc | |
# Voir https://cran.r-project.org/bin/linux/ubuntu/ | |
# On utilise un "personal package archives" pour avoir la même version de | |
# R quelque soit notre version de Ubuntu | |
sudo apt install --no-install-recommends software-properties-common dirmngr | |
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc | |
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/" | |
sudo add-apt-repository "ppa:c2d4u.team/c2d4u4.0+" | |
# Installations de R et de quelques paquets R | |
## Pour ma machine de travail, je change la permisssion du dossier site-library | |
## e.g. sudo chown kc:kc -R /usr/local/lib/R/site-library | |
sudo apt install qpdf r-base-core r-base-dev r-recommended \ | |
r-cran-tidyverse r-cran-devtools r-cran-covr r-cran-littler r-cran-docopt \ | |
r-cran-anytime r-cran-janitor r-cran-pdftools r-cran-qpdf \ | |
r-cran-dbi r-cran-odbc r-cran-rsqlite r-cran-rjdbc r-cran-rpostgresql \ | |
r-cran-rpostgres r-cran-plotly r-cran-reactable | |
## install ROracle | |
sudo R CMD javareconf | |
Rscript -e "install.packages('ROracle')" | |
## dépendances pour pkgdown (rn fait pour ragg dont il dépend) | |
sudo apt install libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev libharfbuzz-dev libfribidi-dev | |
## extra paquets (pas de paquet debian disponible pour ceux-la) | |
Rscript --no-init-file -e "install.packages(c('downloadthis', 'pkgdown', 'targets'))" | |
# Pour ceux qui utilisent VSCode et radian | |
Rscript --no-init-file -e "install.packages('languageserver')" | |
## installation d'un terminal R avec plus de fonctionnalités | |
## le package manager pour python est requis pour cela | |
sudo apt install python3-pip | |
pip install -U radian | |
# installation de l'extension VSCode | |
code --install-extension ikuyadeu.r | |
# Ensuite il faut: | |
# 1. ajouter radian comme terminal pour R dans VSCode | |
# 2. Configurer les variables d'environement dans .Renviron pour y mettre | |
# les credentials pour pouvoir se connecter | |
# Config python | |
pip install bypython cx-Oracle jinja2 pyarrow pylint pytest request sqlalchemy \ | |
sqlfluff |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment