Je viens d'acheter un nouveau PC sur lequel j'ai installé une Linux Mint 19.3 et python3.

Sur mon ancien PC (que j'ai toujours) tourne aussi une Linux Mint 19.3 avec la TeX Live 2019. (C'est un collègue, Linuxien, prof de maths et TeXophile depuis toujours, malheureusement décédé au début du mois, qui l'avait "peaufiné"). C'est lui qui avait écrit la feuille de style que j'utilise pour intégrer des exemples de code (HTML, PHP, Python) à mes cours.

Sur ce nouveau PC, je décide d'installer la TeX Live 2020 (full scheme : everything) et je teste aussitôt la compil d'un .tex avec des exemples de code Python qui passe très bien sur l'ancien PC...

Ça couine car la feuille de style fait un appel à minted (ce que j'avais oublié).

! Package minted Error: You must have `pygmentize' installed to use this package.

Je relis la doc de minted qui précise bien "minted requires the installation of additionnal software, Pygments" puis "Additionally, installing Pygments is actually incredibly easy (see the next section)."

Suivant les instructions de la page 5, j'installe Pygments en me permettant de remplacer le pip install Pygments parpip3 install Pygments puisque j'ai décidé de me passer de python2 et ça dit:

Requirement already satisfied: Pygments in /usr/lib/python3/dist-packages

La section 2.2 précise le nom des packages dont dépend minted, mais puisque j'ai fait une installation complète...

Je retente la compil... Ça coince toujours avec la même erreur.

Se pourrait-il que la TeX Live 2020 dépende encore de la version 2 de Python (que je n'ai pas voulu installer sur ce nouveau PC mais qui est installée sur l'ancien) alors que le support de cette version, déconseillée depuis plusieurs années, sera définitivement terminé à la fin de l'année ?

J'ai cherché cette information partout sur le web (y compris ici-même) sans trouvé l'information.

Quelqu'un ici connaîtrait-il la réponse ?

Posée 13 Avr '20, 23:12

Lightning's gravatar image

Lightning
2113
Taux d'acceptation : 0%

Modifiée 14 Avr '20, 22:41

Pathe's gravatar image

Pathe ♦♦
7.5k42203251

Bienvenue sur TeXnique.fr. Les formules de politesse et les signatures sont à éviter : celle(s) de votre contribution a (ont) été supprimée(s).

(13 Avr '20, 23:16) denis ♦♦ denis's gravatar image

Se pourrait-il que le problème vienne d'un lancement de (pdf)latex sans l'option -shell-escape, nécessaire pour que le package minted fonctionne ?

(13 Avr '20, 23:26) denis ♦♦ denis's gravatar image

Je ne trouve pas comment répondre à la question de Denis autrement qu'en me répondant à moi-même (j'ai cliqué "Ajouter un nouveau commentaire" sans succès).

Se pourrait-il que le problème vienne d'un lancement de (pdf)latex sans l'option -shell-escape, nécessaire pour que le package minted fonctionne ?

Non, je lance bien 'pdflatex -shell-escape'. Mes excuses pour ne pas l'avoir précisé.

(13 Avr '20, 23:57) Lightning Lightning's gravatar image

Normalement, vous auriez dû pouvoir ajouter un commentaire. Cette réponse était un commentaire plutôt qu'une réponse et a été convertie comme tel.

(14 Avr '20, 15:51) denis ♦♦ denis's gravatar image

Bizarrement, je n'ai pas pygmentize-3 (which ne trouve rien et je n'ai rien trouvé dans /usr/bin ou /usr/local/bin). Je ne suis décidé à ouvrir /usr/local/texlive/2020/texmf-dist/scripts/pygmentex/pygmentex.py. Et à la première ligne, je lis "#! /usr/bin/env python2"

Donc la TexLive 2020, ou en tout cas le package minted, dépend bien de la version 2 de python. J'installe donc le paquet python-pip de ma distribution (apt-get install python-pip) et tape la commande 'pip install Pygments' qui créé bien le fichier /usr/local/bin/pygmentize.

Et la compilation de mon .tex utilisant minted se passe sans problème.

Lien permanent

Publiée 14 Avr '20, 17:59

Lightning's gravatar image

Lightning
2113
Taux d'acceptation : 0%

Modifiée 14 Avr '20, 18:06

pygmentize-3 est fourni par le paquet python3-pygments de ma distribution Linux (Mageia) et fonctionne sans problème avec minted (j'ai vérifié après avoir désinstallé python2-pygments puis procédé comme dans ma réponse mais, comme ça y est précisé, c'est à déconseiller). Et en effet, la TeX Live ne dépend en rien de Python ni donc d'une de ses versions plutôt qu'une autre ; en revanche certains des packages qu'elle fournit peuvent, eux, en dépendre.

(14 Avr '20, 22:16) denis ♦♦ denis's gravatar image

Après avoir installé pygments pour Python 3, vous devriez disposez d'une commande pygmentize-3. Il devrait alors suffire de créer un lien symbolique de pygmentize vers pygmentize-3 (cf. ci-dessous), par exemple au moyen des commandes suivantes saisies dans un terminal :

Ouvrir dans l'éditeur Overleaf
$ which pygmentize-3
/usr/bin/pygmentize-3
$ sudo ln -s /usr/bin/pygmentize-3 /usr/bin/pygmentize

Attention ! /usr/bin/pygmentize est par défaut réservé à pygments écrit en Python 2. En faire un lien symbolique vers /usr/bin/pygmentize-3 est en fait tout à fait indésirable car de nombreux logiciels reposent sur pygments écrit en Python 2.

Lien permanent

Publiée 14 Avr '20, 16:01

denis's gravatar image

denis ♦♦
7.3k1510
Taux d'acceptation : 53%

Modifiée 14 Avr '20, 22:36

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.