17-09-2019, 12:14
Bonjour,
vous faites bien de précisez votre environnement lorsque vous demandez de l'aide, mais vous devriez être plus complet en précisant la version de Creme (pour les futurs lecteurs par exemple), la version de Python et votre OS (dans le cas présent où il s'agit potentiellement d'un problème d'environnement c'est particulièrement vrai).
De la même manière, c'est dommage d'avoir tronqué la pile d'erreur qui est utile pour localiser le problème.
Je suppose que vous êtes avec Creme2.0 + Debian9 (vu vos précédant messages), et je suppose que l'erreur provient du fichier "creme/creme_core/utils/currency_format.py" ligne 106
Dans un shell Python chez moi :
On a des valeurs du nombres de digits problématiques (127) ; mais si on continue :
Cette fois les valeurs pour le nombre de chiffres après la virgule sont corrects (2).
C'est ce que fait Creme : le code de formatage va essayer de trouver une locale en essayant successivement locale.setlocale(locale.LC_MONETARY, ('fr_FR', 'utf8')) puis locale.setlocale(locale.LC_MONETARY, 'fr_FR') puis locale.setlocale(locale.LC_MONETARY, '')).
Arrivez-vous à obtenir des valeurs correctes pour le nombre de digits dans un de ces cas ?
vous faites bien de précisez votre environnement lorsque vous demandez de l'aide, mais vous devriez être plus complet en précisant la version de Creme (pour les futurs lecteurs par exemple), la version de Python et votre OS (dans le cas présent où il s'agit potentiellement d'un problème d'environnement c'est particulièrement vrai).
De la même manière, c'est dommage d'avoir tronqué la pile d'erreur qui est utile pour localiser le problème.
Je suppose que vous êtes avec Creme2.0 + Debian9 (vu vos précédant messages), et je suppose que l'erreur provient du fichier "creme/creme_core/utils/currency_format.py" ligne 106
Dans un shell Python chez moi :
Code :
>>> import locale
>>> locale.localeconv()
{ ... 'currency_symbol': '', ... 'int_frac_digits': 127, 'frac_digits': 127, ...} # j'ai surtout laissé les 2 clés qui nous intéresse
On a des valeurs du nombres de digits problématiques (127) ; mais si on continue :
Code :
>>> locale.setlocale(locale.LC_MONETARY, ('fr_FR', 'utf8'))
'fr_FR.UTF-8'
>>> locale.localeconv()
{ ... 'currency_symbol': '€', ... 'int_frac_digits': 2, 'frac_digits': 2, ... }
Cette fois les valeurs pour le nombre de chiffres après la virgule sont corrects (2).
C'est ce que fait Creme : le code de formatage va essayer de trouver une locale en essayant successivement locale.setlocale(locale.LC_MONETARY, ('fr_FR', 'utf8')) puis locale.setlocale(locale.LC_MONETARY, 'fr_FR') puis locale.setlocale(locale.LC_MONETARY, '')).
Arrivez-vous à obtenir des valeurs correctes pour le nombre de digits dans un de ces cas ?