Petit Lepton
Bonjour,
je viens d'acquérir un Yoga 2 pro sur lequel j'ai installé F20. Jusqu'à présent j'utilisais un vieux HP sous F20 également. J'ai installé les même paquets pour matplotlib dans les deux cas mais la compilation du même fichier renvoie une erreur uniquement sur la nouvelle machine :
/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py:1236: UserWarning: findfont: Font family ['ubuntu'] not found. Falling back to Bitstream Vera Sans
(prop.get_family(), self.defaultFamily[fontext]))
Les polices de caractère sont installées de la même façon. Je ne sais pas par où commencer pour traquer l'erreur. La seule chose que j'ai trouvé pour l'instant est une différence dans la provenance des paquets. Sur la nouvelle machine, certains paquets sont étiquetés avec @koji-override-0/$releasever à la place de installed ou @updates.
Merci de votre aide,
F.
jypaigue
matplotlib a un peu de mal des fois avec les polices... Vire ton ~/.matplotlib et relance ton programme. Et le package qui contient la police "ubuntu" doit également être installé (je ne sais pas quel est le paquet, mais ce n'est pas une dépendance de matplotlib)
Tu peux également lancer un 'yum distro-sync' si tu penses que les paquets installés ne sont pas ceux disponibles sur les dépots. Mais du coup, commence par faire le reste avant de virer ~/.matplotlib.
Autrement je n'ai pas d'autres idées pour l'instant...
Petit Lepton
Bonjour, merci pour ce conseil. Malheureusement, cela n'a pas fonctionné. Mes polices sont installées dans le dossier ~/.fonts.
Autre élément étrange : la police de par défaut de Fedora, cantarell, est bien détectée par matplotlib et utilisée mais le signe - par exemple est remplacé par un carré. Si je copie ubuntu dans /usr/share/fonts, le problème persiste...
Ce que je n'arrive pas à comprendre est le fait que les deux machines semblent avoir la même configuration et pourtant leur comportement est différent.
Petit Lepton
Petite nuance concernant le message précédent, les police système sont détectées mais non utilisées !
Petit Lepton
J'ai finalement trouvé le problème. Matplotlib génère un fichier de définition des polices fontList.cache dans le dossier .cache/matplotlib. Il faut supprimer ce fichier. Lors de l'utilisation suivante de la bibliothèque, le fichier est regénéré en prenant en compte le dossier local ~/.fonts.
jypaigue
Ah c'était donc .cache/matplotlib à la place de .matplotlib... Soit c'est nouveau, soit ma mémoire me joue des tours, désolé...
Petit Lepton
Pas de problème ! Cela m'a mis sur la piste !