Problème compilation pythontex à s'arracher les cheveux

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux membres inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
mmecartier
Utilisateur débutant
Utilisateur débutant
Messages : 1
Inscription : vendredi 01 octobre 2021, 22:38
Statut actuel : Enseignant

Problème compilation pythontex à s'arracher les cheveux

Message non lu par mmecartier »

Bonjour.
Cela fait plusieurs jours que je lis tous les sujets sur les problèmes de compilation avec pythontex mais, soit ce que les gens proposent ne fonctionne pas pour moi, soit je ne comprends pas les explications.
J'utilise latex pour taper mes cours de maths depuis quelques années mais sans vraiment maîtriser tout ce qui est "compilation".
J'utilise Python en temps que prof de maths mais, de même, sans être vraiment à l'aise (je ne sais pas comment installer quelque chose, par exemple).

Je travaille sous windows 10 avec Miktex - TexLive 2021, TexMaker et Texstudio (plus habituée à Texstudio) tout cela réinstallé le 30/09/2021. J'ai installé Python 3.9 le même jour.

Mais quelle que soit la configuration, quand je compile

Code : Tout sélectionner

\documentclass[12pt,french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} 
\usepackage{lmodern}
\usepackage{babel}
\usepackage{pythontex}
\setlength{\parindent}{0pt}

\begin{document}
\begin{pycode}
print(r'\begin{center}')
print(r'\textit{A message from Python!}')
print(r'\end{center}')
\end{pycode}

Résultat : 
\begin{pycode}
import math
def racine(a):
    return math.sqrt(a)
print(racine(9))
\end{pycode}
\end{document}
à l'aide de pdflatex puis pythontex puis re-pdfLatex, toujours la même page :
Capture.JPG
Capture.JPG (11.66 Kio) Consulté 104 fois
Il semble que pythontex ne soit pas bien installé ou pas bien indiqué.
J'ai pourtant mis "C:/texlive/2021/bin/win32/pythontex.exe" dans user0 sur texstudio (rien dans le Path commande car j'ai lu tellement de choses différentes que je ne sais plus quoi y mettre.
texstudio.JPG
Voici la réponse de Texstudio :

Code : Tout sélectionner

C:\texlive\2021\bin\win32\runscript.tlu:915: command failed with exit code -1073741819: python.exe c:\texlive\2021\texmf-dist\scripts\pythontex\pythontex.py
Erreur : échec de la commande "C:/texlive/2021/bin/win32/pythontex.exe"
Processus terminé avec une ou plusieurs erreurs
Je ne maîtrise pas du tout le power shell ni le command miktex.

Voyez-vous un moyen de m'aider s'il vous plait car je voudrais pouvoir transformer un programme Python à l'aide de Pythontex dont j'ai besoin pour mes élèves.

Merci du temps que vous aurez pris pour me lire/essayer de m'aider.
Arathorn
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 253
Inscription : mercredi 24 avril 2013, 19:47
Statut actuel : Enseignant

Re: Problème compilation pythontex à s'arracher les cheveux

Message non lu par Arathorn »

Bonjour,
Une piste éventuelle pour la configuration.

Code : Tout sélectionner

pdflatex --shell-escape -synctex=1 -interaction=nonstopmode %.tex|python C:\Users\Toto\AppData\Local\Programs\MiKTeX\scripts\pythontex\pythontex.py %.tex|pdflatex --shell-escape -synctex=1 -interaction=nonstopmode %.tex
source : viewtopic.php?f=6&t=17228
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2653
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Problème compilation pythontex à s'arracher les cheveux

Message non lu par gigiair »

Je ne suis pas sous Windows 10, donc mon environnement est différent et sans informations complémentaires, je ne peux pas beaucoup aider.
Il faudrait que tu ouvres un interpréteur de commandes dans le répertoire de ton fichier tex et que tu tapes les commandes « à la main »
Supposons que ton fichier tex se nomme ECM.tex. Ouvre un interpréteur de commandes CMD ( touche Windows + R + RETOUR CHARIOT)
dans le répertoire contenant ton fichier ECM, puis tape les commandes:

Code : Tout sélectionner

pdflatex ECM
pythontex ECM
Chaque commande génère un compte rendu et affiche les messages d'erreur avec une indication sur la probable cause.
Chez moi, la deuxième commande retourne :

Code : Tout sélectionner

Traceback (most recent call last):
  File "/usr/share/texlive/texmf-dist/scripts/pythontex/pythontex3.py", line 1560, in run_code
    proc = subprocess.Popen(exec_cmd, stdout=out_file, stderr=err_file)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1821, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'python'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/usr/share/texlive/texmf-dist/scripts/pythontex/pythontex3.py", line 1563, in run_code
    except WindowsError as e:
NameError: name 'WindowsError' is not defined
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/pythontex", line 62, in <module>
    pythontex.main()
  File "/usr/share/texlive/texmf-dist/scripts/pythontex/pythontex3.py", line 2811, in main
    do_multiprocessing(data, temp_data, old_data, engine_dict)
  File "/usr/share/texlive/texmf-dist/scripts/pythontex/pythontex3.py", line 1383, in do_multiprocessing
    result = task.get()
  File "/usr/lib/python3.9/multiprocessing/pool.py", line 771, in get
    raise self._value
NameError: name 'WindowsError' is not defined
à la ligne 11, une première erreur est signalée

Code : Tout sélectionner

FileNotFoundError: [Errno 2] No such file or directory: 'python'
Les erreurs suivantes sont sans intérêt car conséquence de celle-ci.
Sur mon installation, python n'est pas une commande exécutable, bien que python soit installé. A la place existe trois commandes
- python2.7
-python3
-python3.9

Bien entendu il n'y a aucune raison pour que la configuration de ta machine soit identique.à la mienne Les différentes versions de python ont été nécessitées par l'installateur d'applications écrites en python. Par contre, il n'y a aucune application nommée python et pythontex échoue.
Pour y remédier, j'ai lancé la commande pythontex en précisant quelle version de python doit être utilisée

Code : Tout sélectionner

pythontex --interpreter "python:python3" ECM
Sous Windows, si j'en crois la documentation de pythontex, la commande est

Code : Tout sélectionner

pythontex --interpreter "python:py -3"
Mais je n'ai pas de machine Windows pour tester.

Je suis désolé de ne pas pouvoir fournir plus, je ne peux pas garantir que ça te dépannera, mais ça peut au moins donner des pistes pour débugger : d'abord trouver le premier message d'erreur retourné par la commande pythontex, ensuite essayer de comprendre.
JJR.
LaTeXien migrateur.