TeXmac. Les sessions Python plantent [Réglé]
Mais sur un seul PC
Logiciels / Bureautique

Meuz Membre non connecté
-
- Voir le profil du membre Meuz
- Inscrit le : 06/08/2011
- Groupes :
TeXmacs est un traitement de texte spécialisé pour les expressions mathématiques et scientifiques. Il permet d'insérer des sessions de calculs via Giac, Maxima, Mathematica, et ce qui nous intéresse ici de sessions de Python.
Sur mon PC de bureau :
Mais sur mon portable :
Un état des lieux :
- Les 2 premières lignes différent. Mais
/usr/bin/python3
est correct. - Rien de changé après avoir renommé le répertoire
.TeXmacs
. - Rien de changé pour un nouvel utilisateur avec une session vierge.
- Même bureau Plasma, même thème, même version de TeXmacs : texmacs-2.1.2-1.mga9.
- Même version de Python.
- Même paramétrage de TeXmacs (me semble t-il après recherche)
- Les sessions giac et maxima sont fonctionnelles, mais pas pour sympy ou gnuplot, mais ce n'est pas mon problème pour l'instant.
Si vous désirez vous lancer dans l'aventure TeXmacs : Insérer/Sessions/Python
Édité par Meuz Le 17/03/2025 à 12h51

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Dans une session Python, la fonction eval() fonctionne ( par exemple ( eval ("2+3"), puisque eval attend une chaine de caractère ) ?
On dirait qu' ici la variable line n' est pas initialisée ( peut être je ne connais rien en Python) et du coup la ligne suivante ne trouve pas l' index 0 du tableau line ?

Meuz Membre non connecté
-
- Voir le profil du membre Meuz
- Inscrit le : 06/08/2011
- Groupes :
J'ai effectué quelques tests pour reproduire le message d'erreur. Il apparait quand on demande le terme d'un rang quelconque sur une variable qui est un int. Un exemple :
Code PYTHON :
>>> line = 5 >>> line[0]==8 Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> line[0]==8 TypeError: 'int' object is not subscriptable
Pour un motif abscons, cette variable line est un int. Et sur ce PC, pas sur l'autre.

Meuz Membre non connecté
-
- Voir le profil du membre Meuz
- Inscrit le : 06/08/2011
- Groupes :
Code TEXT :
TeXmacs] debug-shell, Launching 'python3 -X utf8 "/usr/share/TeXmacs/plugins/tmpy/session/tm_python.py"'
Et sur le PC qui ne plante pas :
Code TEXT :
TeXmacs] debug-shell, Launching 'python3 "/usr/share/TeXmacs/plugins/tmpy/session/tm_python.py"'
Un (ou deux) paramètre en plus : -X utf8.
Reste à découvrir comment ce paramètre arrive là.

Meuz Membre non connecté
-
- Voir le profil du membre Meuz
- Inscrit le : 06/08/2011
- Groupes :
Sur mon portable, où la session python est fonctionnelle, il y a un ficher
~/.TeXmacs/plugins/tmpy/session/tm_python.py. Dans mon PC de bureau, où ça ne marche pas, ce fichier n'y était pas. Cependant il existe :
/usr/share/TeXmacs/plugins/tmpy/session/tm_python.py.
Copié, lié dans
~/.TeXmacs/plugins/tmpy/session/, ça ne marche pas.
En fait ils sont différents, voire très différents. Voici les premières ligne du retour de
diff -u .TeXmacs/plugins/tmpy/session/tm_python_ori.py .TeXmacs/plugins/tmpy/session/tm_python.py
Caché :
Code TEXT :
--- .TeXmacs/plugins/tmpy/session/tm_python_ori.py 2023-01-12 20:26:33.000000000 +0100 +++ .TeXmacs/plugins/tmpy/session/tm_python.py 2021-04-29 09:01:09.685000000 +0200 @@ -1,77 +1,302 @@ -#! /usr/bin/python3 -s +#!/usr/bin/env python ############################################################################### -# -# MODULE : tm_python.py -# DESCRIPTION : Initialize python plugin -# COPYRIGHT : (C) 2004 Ero Carrera, ero@dkbza.org -# (C) 2012 Adrian Soto -# (C) 2014 Miguel de Benito Delgado, mdbenito@texmacs.org -# (C) 2018-2020 Darcy Shen -# -# This software falls under the GNU general public license version 3 or later. -# It comes WITHOUT ANY WARRANTY WHATSOEVER. For details, see the file LICENSE -# in the root directory or <http://www.gnu.org/licenses/gpl-3.0.html>. +## +## MODULE : tm_python.scm +## DESCRIPTION : Initialize python plugin +## COPYRIGHT : (C) 2004 Ero Carrera, ero@dkbza.org +## (C) 2012 Adrian Soto +## (C) 2014 Miguel de Benito Delgado, mdbenito@texmacs.org +## +## This software falls under the GNU general public license version 3 or later. +## It comes WITHOUT ANY WARRANTY WHATSOEVER. For details, see the file LICENSE +## in the root directory or <http://www.gnu.org/licenses/gpl-3.0.html>. import os +import traceback +import keyword +import re +import string import sys -import platform -from os.path import exists -tmpy_home_path = os.environ.get("TEXMACS_HOME_PATH") + "/plugins/tmpy" -if (exists (tmpy_home_path)): - sys.path.append(os.environ.get("TEXMACS_HOME_PATH") + "/plugins/") -else: - sys.path.append(os.environ.get("TEXMACS_PATH") + "/plugins/") +import csv # Used to parse scheme forms +from inspect import ismodule, getsource, getsourcefile +from types import CodeType +from io import open +from io
Le retour en entier : TeXmacs_bug_session_python_diff_tm_python.txt pour les plus curieux.
Le vieux
tm_python.pyfonctionnel doit dater des versions précédente de Mageia ou de TeXmacs.
Mais cette fois c'est fonctionnel.
PS. Il y a des risques que tout ce qui dépend des plugins liés à Python soient impactés.

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
N'aurais-tu pas d'autres partie du module qui seraient résiduelles dans ton /home ?
Que se passe-t-il si tu renommes le répertoire ~/.TeXmacs en autre chose ? Ou avec un autre profil d'utilisateur ?
Yves

Meuz Membre non connecté
-
- Voir le profil du membre Meuz
- Inscrit le : 06/08/2011
- Groupes :

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
J'ai trouvé d'où vient le problème. Notre paquet retravaille les scripts Python avec 2to3, alors que les scripts sont maintenant portés sur Python 3.
Un nouveau paquet est en cours de construction.
Je n'ai pas pu mettre à jour avec la version 2.1.4, les patches pour utiliser guile 3 ne s'y appliquent pas.
Yves

Meuz Membre non connecté
-
- Voir le profil du membre Meuz
- Inscrit le : 06/08/2011
- Groupes :
J'ai aperçu des scripts pythons dans les plugin qui mentionnaient python 2 effectivement.
Édité par Meuz Le 14/03/2025 à 18h40

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Si tu veux bien faire l'essai, mets à jour le dépôt et installe cette version.
Yves

Meuz Membre non connecté
-
- Voir le profil du membre Meuz
- Inscrit le : 06/08/2011
- Groupes :

Meuz Membre non connecté
-
- Voir le profil du membre Meuz
- Inscrit le : 06/08/2011
- Groupes :
Je n'ai fait que des tests superficiels, mais il me semble pleinement fonctionnel avec les plugins (ou greffons) mis en cause : Python, sympy, gnuplot qui plantaient avec la version précédente.
Les plugins Giac, Maxima, Shell fonctionnent comme avant.
Les plugins pour Graphiz, MATLAB, R, me semblent aussi fonctionnels.
Par contre, le plugins de Scilab démarre Scilab ... 🤨
Mais je ne sais pas s'il fonctionnait dans les versions précédentes.
On peut donc dire que c'est une réussite.
Merci
Edit. Orthographe
Édité par Meuz Le 15/03/2025 à 14h35

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Meuz :Par contre, le plugins de Scilab démarre Scilab ... 🤨
Mais je ne sais pas s'il fonctionnait dans les versions précédentes.
Merci pour ton retour.
Dit comme ça, ça apparait logique de démarrer Scilab.
Qu'attends-tu qu'il faudrait qu'il se passe ?
Yves

Meuz Membre non connecté
-
- Voir le profil du membre Meuz
- Inscrit le : 06/08/2011
- Groupes :
Comme dans cette capture de mes tests :
Caché :

Ça permet d'élaborer des documents interactifs
En ce qui concerne Scilab, je ne l'utilise pas, j'ai découvert le problème avec mes tests.
L'aide du plugin de Scilab décrit bien une session à l'intérieur du document.
Édité par Meuz Le 15/03/2025 à 16h01

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Meuz :
En ce qui concerne Scilab, je ne l'utilise pas, j'ai découvert le problème avec mes tests.
L'aide du plugin de Scilab décrit bien une session à l'intérieur du document.
Bonjour,
Scilab ? ça ne vient pas (plus) de chez nous.
Yves
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie