Skip to content

Instantly share code, notes, and snippets.

@KevCaz
Last active May 31, 2023 17:46
Show Gist options
  • Save KevCaz/ff59f3786b673f162eb43ecd912f3e1b to your computer and use it in GitHub Desktop.
Save KevCaz/ff59f3786b673f162eb43ecd912f3e1b to your computer and use it in GitHub Desktop.
Installation et configuration R pour l'équipe ETL
#!/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