[Pythontex] Problème de compilation

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

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.
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 383
Inscription : jeudi 14 octobre 2010, 09:20

[Résolu] [Pythontex] Problème de compilation

Message par zariski63 »

Bonjour, j'aimerais savoir pourquoi mon code ne compile pas. J'ai deux codes python, séparément ça marche, ensemble ça ne marche plus...
Merci

Code : Tout sélectionner

\documentclass[12pt]{article}

\usepackage{fontspec}
\usepackage[tmargin=2cm,bmargin=2.5cm,hmargin=2cm]{geometry}
\usepackage{graphicx}
\usepackage{comment}
\usepackage{pythontex}

\begin{document}

%\begin{comment}
\begin{pycode}
from matplotlib.pylab import *

x=arange(-pi,pi,0.05*pi)
plot(x,sin(x),'co',x,cos(x),'mD')
legend(['sinus','cosinus'],loc='upper left')
axis([-pi,pi,-1,1]); # axis([xmin,xmax,ymin,ymax])
savefig('courbe5.pdf',bbox_inches='tight')
\end{pycode}
\begin{center}
   \includegraphics[scale=1]{courbe5.pdf}
\end{center}
%\end{comment}

%\begin{comment}
\begin{pycode}
from matplotlib.pylab import *

x=linspace(5,6,100)
# Les listes des abscisses et ordonnées :
xx=[5.13 , 5.7, 5.48, 5.7, 5.66, 5.84, 5.5, 5.69, 5.44, 5.84, 5.82, 5.88, 5.61, 5.65, 5.21, 5.37, 5.46, 5.33, 5.15, 5.74]
yy=[19.47, 21.67, 20.98, 21.46 , 21.6, 22.29, 20.84, 21.46, 20.8, 21.56, 22.02 , 22.54, 21.2, 21.39, 20.49, 20.46, 20.72, 20.07 , 20.24, 21.6]
figure(figsize=(4,4), dpi=100)
a,b=polyfit(xx,yy,1)
plot(xx,yy,"o")
plot(x,a*x+b)
savefig('courbe6.pdf',bbox_inches='tight')
\end{pycode}
\begin{center}
   \includegraphics[scale=1]{courbe6.pdf}
\end{center}
%\end{comment}

\end{document}

evariste_G
Utilisateur chevronné
Utilisateur chevronné
Messages : 1467
Inscription : vendredi 19 décembre 2008, 19:13
Statut actuel : Enseignant
Localisation : Bordeaux

Re: pythontex

Message par evariste_G »

Bonjour.

Vous ne précisez pas le mode de compilation.
De mon côté, je compile avec pdflatex.

Je compile une première fois pour générer les PDF (je commente donc les deux lignes \includegraphics) via pdflatex + pythontex, puis une seconde fois remettant les \includegraphics. Tout fonctionne bien:
temp.pdf
Pour ce genre de choses, je suggère l'utilisation de \IfFileExists:

Code : Tout sélectionner

\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage[tmargin=2cm,bmargin=2.5cm,hmargin=2cm]{geometry}
\usepackage{graphicx}
\usepackage{pythontex}

\begin{document}

\begin{pycode}
from matplotlib.pylab import *

x=arange(-pi,pi,0.05*pi)
plot(x,sin(x),'co',x,cos(x),'mD')
legend(['sinus','cosinus'],loc='upper left')
axis([-pi,pi,-1,1]); # axis([xmin,xmax,ymin,ymax])
savefig('courbe5.pdf',bbox_inches='tight')
\end{pycode}
\begin{center}
\IfFileExists{courbe5.pdf}{\includegraphics[scale=1]{courbe5.pdf}}{}
\end{center}

\begin{pycode}
from matplotlib.pylab import *

x=linspace(5,6,100)
# Les listes des abscisses et ordonnées :
xx=[5.13 , 5.7, 5.48, 5.7, 5.66, 5.84, 5.5, 5.69, 5.44, 5.84, 5.82, 5.88, 5.61, 5.65, 5.21, 5.37, 5.46, 5.33, 5.15, 5.74]
yy=[19.47, 21.67, 20.98, 21.46 , 21.6, 22.29, 20.84, 21.46, 20.8, 21.56, 22.02 , 22.54, 21.2, 21.39, 20.49, 20.46, 20.72, 20.07 , 20.24, 21.6]
figure(figsize=(4,4), dpi=100)
a,b=polyfit(xx,yy,1)
plot(xx,yy,"o")
plot(x,a*x+b)
savefig('courbe6.pdf',bbox_inches='tight')
\end{pycode}
\begin{center}
\IfFileExists{courbe5.pdf}{\includegraphics[scale=1]{courbe6.pdf}}{}
\end{center}

\end{document}
et une compilation avec xelatex + pythontex + xelatex.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Mathématiques, LaTeX et Python : https://www.mathweb.fr

zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 383
Inscription : jeudi 14 octobre 2010, 09:20

Re: Pythontex

Message par zariski63 »

oups...

Par lualatex puis pythontex et re- lualatex.

zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 383
Inscription : jeudi 14 octobre 2010, 09:20

Re: Pythontex

Message par zariski63 »

Voici le message d'erreurs ...

Code : Tout sélectionner

Command Line:   pythontex.exe "Essais.tex"
Startup Folder: D:\MES DOCUMENTS\Documents temporaires\ESSAIS\Essais1

This is PythonTeX 0.17

----  Messages for py:default:default  ----
  Traceback (most recent call last):
* PythonTeX stderr - error on line 40:
    File "<outputdir>\py_default_default.py", line 77, in <module>
      a,b=polyfit(xx,yy,1)
    File "<__array_function__ internals>", line 5, in polyfit
    File "C:\Users\ERIC\AppData\Roaming\Python\Python38\site-packages\numpy\lib\polynomial.py", line 629, in polyfit
      c, resids, rank, s = lstsq(lhs, rhs, rcond)
    File "<__array_function__ internals>", line 5, in lstsq
    File "C:\Users\ERIC\AppData\Roaming\Python\Python38\site-packages\numpy\linalg\linalg.py", line 2306, in lstsq
      x, resids, rank, s = gufunc(a, b, rcond, signature=signature, extobj=extobj)
    File "C:\Users\ERIC\AppData\Roaming\Python\Python38\site-packages\numpy\linalg\linalg.py", line 100, in _raise_linalgerror_lstsq
      raise LinAlgError("SVD did not converge in Linear Least Squares")
  numpy.linalg.LinAlgError: SVD did not converge in Linear Least Squares

--------------------------------------------------
PythonTeX:  Essais - 1 error(s), 0 warning(s)

C:\texlive\2019\bin\win32\runscript.tlu:907: command failed with exit code 1:
python.exe c:\texlive\2019\texmf-dist\scripts\pythontex\pythontex.py "Essais.tex"

evariste_G
Utilisateur chevronné
Utilisateur chevronné
Messages : 1467
Inscription : vendredi 19 décembre 2008, 19:13
Statut actuel : Enseignant
Localisation : Bordeaux

Re: Pythontex

Message par evariste_G »

L'erreur semble provenir de l'installation TeXlive... Mais n'étant pas du tout expert en Texlive + Windows (perso, je suis sous MikTeX + Windows), je ne peux pas aider à résoudre ce problème.
Autant attendre l'avis d'un utilisateur de cette combinaison.
Mathématiques, LaTeX et Python : https://www.mathweb.fr

zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 383
Inscription : jeudi 14 octobre 2010, 09:20

Re: [Pythontex] Problème de compilation

Message par zariski63 »

Merci tout de même.

conan
Utilisateur confirmé
Utilisateur confirmé
Messages : 47
Inscription : mardi 21 mars 2006, 10:10

Re: [Pythontex] Problème de compilation

Message par conan »

Aucun problème avec le code proposé sous Linux+TexLive 2020.

evariste_G
Utilisateur chevronné
Utilisateur chevronné
Messages : 1467
Inscription : vendredi 19 décembre 2008, 19:13
Statut actuel : Enseignant
Localisation : Bordeaux

Re: [Pythontex] Problème de compilation

Message par evariste_G »

À tout hasard, est-ce que Python est dans le PATH de windows ?
Mathématiques, LaTeX et Python : https://www.mathweb.fr

zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 383
Inscription : jeudi 14 octobre 2010, 09:20

Re: [Pythontex] Problème de compilation

Message par zariski63 »

Bien sûr. En fait j'ai 2 pythons.
- Un sur C:\EduPython version37 que je n'arrive pas à faire converser avec ma texlive2020 (réinstallée de puis hier).
- et un python39 dans mon C:\Users\... qui lui à priori converse avec ma texlive bien que je rencontre un souci avec pip, que j'essaie de régler tout
de suite ... Bref c'est galère ...

marco56
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 884
Inscription : jeudi 25 novembre 2010, 22:10

Re: [Pythontex] Problème de compilation

Message par marco56 »

conan a écrit :
vendredi 09 octobre 2020, 10:39
Aucun problème avec le code proposé sous Linux+TexLive 2020.
Moi, je n'obtiens pas les graphes.

zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 383
Inscription : jeudi 14 octobre 2010, 09:20

Re: [Pythontex] Problème de compilation

Message par zariski63 »

Compiler : pdflatex (ou lualatex) puis pythontex puis pdflatex (ou lualatex) mais j'imagine que vous l'avez fait ...

marco56
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 884
Inscription : jeudi 25 novembre 2010, 22:10

Re: [Pythontex] Problème de compilation

Message par marco56 »

zariski63 a écrit :
vendredi 09 octobre 2020, 19:11
Compiler : pdflatex (ou lualatex) puis pythontex puis pdflatex (ou lualatex) mais j'imagine que vous l'avez fait ...
Oui.

zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 383
Inscription : jeudi 14 octobre 2010, 09:20

Re: [Pythontex] Problème de compilation

Message par zariski63 »

J'ai installé de nouveau python mais python37 car j'avais un soucis pour télécharger les modules avec python39 (trop récent surement).
Mais latex n'arrive toujours pas à compiler.
Voici le fichier d'erreurs :

Code : Tout sélectionner

Command Line:   pythontex.exe "Essais.tex"
Startup Folder: D:\MES DOCUMENTS\Documents temporaires\ESSAIS\Essais1

This is PythonTeX 0.17
Traceback (most recent call last):
  File "c:\texlive\2020\texmf-dist\scripts\pythontex\pythontex.py", line 62, in <module>
    pythontex.main()
  File "c:\texlive\2020\texmf-dist\scripts\pythontex\pythontex3.py", line 2796, in main
    get_old_data(data, old_data, temp_data)
  File "c:\texlive\2020\texmf-dist\scripts\pythontex\pythontex3.py", line 593, in get_old_data
    old = pickle.load(f)
ValueError: unsupported pickle protocol: 5
C:\texlive\2020\bin\win32\runscript.tlu:915: command failed with exit code 1:
python.exe c:\texlive\2020\texmf-dist\scripts\pythontex\pythontex.py "Essais.tex"
Moi j'y perds mon latin.

zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 383
Inscription : jeudi 14 octobre 2010, 09:20

Re: [Pythontex] Problème de compilation

Message par zariski63 »

Bon j'ai viré des fichiers d'anciennes compilations et miracle ça re-compile ... Apparemment cela semble résolu ...