Notez que pyplot.show()
blocs jusqu'à ce que vous fermez la fenêtre.
Si vous générez des tracés pour vos documents LaTeX, supprimez simplement pyplot.show()
.
Assurez-vous que Python peut effectivement trouverlatex
, dvipng
et gs
. (Je m'attendrais à ce que vous receviez un message d'erreur si ce n'est pas le cas, mais je n'ai pas utilisé python/matplotlib sur ms-windows, donc je ne suis pas sûr.) Leur emplacement devrait être dans votre environnement PATH
variable. Voir le matplotlib documentation on environment variables.
Effectuez les opérations suivantes dans une session interactive Python:
>>> import subprocess
>>> subprocess.call(['latex', '--version'])
pdfTeX 3.14159265-2.6-1.40.17 (TeX Live 2016)
kpathsea version 6.2.2
Copyright 2016 Han The Thanh (pdfTeX) et al.
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Han The Thanh (pdfTeX) et al.
Compiled with libpng 1.6.21; using libpng 1.6.21
Compiled with zlib 1.2.8; using zlib 1.2.8
Compiled with xpdf version 3.04
0
Les choses sur la version TeX pourrait bien être différent; Cela dépend de la version de la distribution TeX que vous utilisez. Le plus important est la dernière ligne; ceci est la valeur de retour de subprocess.call
et si doit être 0, indiquant que la commande ne renvoie aucune erreur. Si le subprocess.call
déclenche une exception (comme ci-dessous, pas sûr qu'il en sera de même sur ms-windows), vous devez modifier le PATH
pour que python puisse trouver LaTeX et les autres choses dont il a besoin.
>>> subprocess.call(['foo', '--version'])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/subprocess.py", line 168, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/local/lib/python2.7/subprocess.py", line 390, in __init__
errread, errwrite)
File "/usr/local/lib/python2.7/subprocess.py", line 1024, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Edit: Si ce n'est pas le problème, il se pourrait que c'est TeX qui ne Démissionner. Essayez d'exécuter le script. Lorsque vous obtenez la boîte de dialogue d'erreur, regardez dans le gestionnaire de tâches s'il existe encore un processus (la) tex en cours d'exécution. Regardez le code LaTeX que vous utilisez, et essayez de l'exécuter dans LaTeX pour vérifier qu'il est réellement valide. Il peut se bloquer sur une erreur ...
s'exécute dans console/terminal/cmd.exe et peut-être qu'il affiche un message d'erreur. – furas
@furas L'invite de commande n'est-elle pas la même que celle de cmd.exe? Si c'est le cas, aucune erreur ne s'affiche à part une fenêtre qui apparaît pour me dire que 'python.exe' a cessé de fonctionner et de fermer le programme. – Aldahunter