Commit fcef1b91 authored by Lionel's avatar Lionel
Browse files

Mise à niveau du guide d'install, utilisation de pyenv et pipenv

parent 1500af54
crater-data-3.8.11
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
pandas = "==1.1.2"
geopandas = "==0.8.1"
rtree = "==0.9.7"
numpy = "==1.19.2"
xlrd = "~=1.2.0"
requests = "==2.24.0"
unidecode = "==1.1.1"
matplotlib = "==3.3.2"
py7zr = "==0.11.0"
[dev-packages]
[requires]
python_version = "3.8"
This diff is collapsed.
# CRATER-DATA
Ce repo contient l'application python crater-data, qui permet de générer l'ensemble des données utilisées par CRATer sous forme de fichiers csv.
crater-data utilise pour cela un ensemble de fichier sources (voir crater-data-sources)
## 1) Installer de l'environnement de développement (linux)
## Installation
Pré-requis : disposer de pyhton >= 3.6
Cloner et configurer crater-data :
### Cloner le repository git de crater-data
```
# prerequis (linux) : installer venv
sudo apt-get install python3-venv
# récupération du repo git
git clone git@framagit.org:lga/crater-data.git
cd crater-data
# creation et activation d'un nouvel environnement virtuel
python3 -m venv venv
# chargement de l'environnement virtuel
source venv/bin/activate
# installation des dependances necessaires à Crater
pip install -r requirements.txt
```
Récupérer crater-data-sources et crater-data-resultats (nécessaires pour exécuter crater-data)
### Créer l'environnement virtuel python
1/ créer un virtualenv avec pyenv
Il est recommandé d'utiliser la version python 3.8.x via pyenv (pyenv permet de gérer facilement plusieurs versions de python)
Pour installer [pyenv](https://github.com/pyenv), voir https://github.com/pyenv/pyenv-installer
Puis l'utiliser pour installer pyhton, en faisant à la racine du projet crater-data :
```
# installer python 3.8.11 dans pyenv
pyenv install 3.8.11
# creer un environnement virtuel basé sur la version 3.8.11 de python
pyenv virtualenv 3.8.11 crater-data-3.8.11
# définir crater-data-3.8.11 comme l'environnement virtuel par défaut pour le projet crater-data
pyenv local crater-data-3.8.11
```
# Se positionner dans le répertoire parent de crater-data
# Puis
git clone git@framagit.org:lga/crater-data-sources.git
git clone git@framagit.org:lga/crater-data-resultats.git
Cela a pour effet de générer le .python-version
Rq : ce fichier est déjà présent dans le repo git de crater-data
2/ Installer pipenv
pipenv est le gestionnaire de dépendance de paquets utilisé par la projet crater-data.
Il faut l'installer dans l'environnement python créé à l'étape précédente :
```
# pour vérifier que la version de python utilisée est bien la 3.8.x installée par pyenv
python --version
# Installer pipenv
pip install pipenv
```
### Installer les dépendances Python
A la racine du projet :
-`pipenv install` pour installer les dépendances dans l'environnement virtuel que pipenv a créé pour ce projet
- `pipenv lock` pour (re)construire le fichier Pipfile.lock
## 2) Lancer les tests
Se mettre à la racine du projet
Lancer les tests unitaires :
```
python -m unittest
```
# Exécution
## 3) Exécuter les chaînes de traitement crater-data
### Pré-requis
Le script principal crater_data.py permet de cibler l'étape du traitement que l'on souhaite lancer.
a) Dérouler les étapes d'installation (voire 1. ci-dessus)
b) Récupếrer les dossiers contenant les données sources et résultats :
Pour voir la liste des étapes possible :
* les données sources sont disponibles sur l'espace partagé des Greniers d'Abondance (demande d'accès à faire par mail crater@resiliencealimentaire.org). Le dossier crater-data-sources contenant ces données doit être positionné au même niveau de le dossier crater-data (dans le même repertoire parent)
* la dernière version des données résultats est disponible dans le repo [crater-data-resultats](https://framagit.org/lga/crater-data-resultats) (demande d'accès à faire via gitlab).
### Lancer un traitement
crater-data utilise les fichiers présents dans crater-data-sources pour générer les résultats sous forme de fichiers csv dans crater-data-resultats.
crater-data permet également de récupérer certains fichiers sources (en automatisant leur téléchargement par exemple)
Le script principal permet lancer une étape de traitement en particulier.
Pour consulter la liste des étapes disponible :
```
cd crater-data
python3 -m crater.crater_data --help
python -m crater.crater_data --help
```
Pour lancer une étape en particulier (ici la génération de l'ensemble des fichiers résultat crater-data) :
```
cd crater-data
python3 -m crater.crater_data crater
```
\ No newline at end of file
python -m crater.crater_data crater
```
......@@ -159,7 +159,7 @@ def lancer_calcul_cartes():
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser = argparse.ArgumentParser(usage='%(prog)s ETAPE_CALCUL\n'
+ 'Permet de lancer les différentes étapes des traitements de crater-data\n'
+ 'Permet de lancer une étape ou un groupe d\'étapes de traitements de crater-data\n'
+ "Valeurs possible pour ETAPE_CALCUL :\n"
+ "\tparcel-besoins-assiette-actuelle\tgénérer le fichier des besoins en SAU à partir de l'api PARCEL, pour l'assiette actuelle\n"
+ "\tparcel-besoins-assiette-25p\t\tgénérer le fichier des besoins en SAU à partir de l'api PARCEL, pour une assiette avec -25 pourcent de produit de l'élevage\n"
......
Supports Markdown
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