#1 Le 10/05/2023, à 12:00
- Emrhys13
[Résolu] message : mon script python ne repond pas
Bonjour,
contexte: je suis sous Ubuntu 23.04, Python 3.11.2
J'ai fait un script python qui appelle d'autres scripts python.
ca fonctionne correctement, les scripts se lancent et fonctionnent mais j'ai un popup avec le message ci dessous qui s'affiche au bout de quelques secondes. ca n’empêche pas de fonctionner mais ce n'est pas très esthétique.
"monscript.py" ne répond pas. vous pouvez soit attendre un peu pour continuer, soit forcer l'application à quitter
je voulais mettre un screenshot mais je n'ai pas trouvé comment faire
j'ai cherché sur internet différentes façons pour lancer les scripts mais j'ai toujours le même résultat
os.system("python3 /home/claude/monscript.py")
subprocess.run([sys.executable, "monscript.py"]) avec ou sans option timeout
subprocess.call([pgmpath + "/monscript.py"])
toutes ces méthodes fonctionnent mais toujours avec le popup après 3 ou 4 secondes
Il me semble que ce message est apparu avec les dernières version de python. j'avais un script similaire qui fonctionnait sur une ancienne version sans avoir ce popup.
pouvez vous m'aider pour supprimer ce popup et au moins m'indiquer quelle est la meilleure méthode pour lancer un script pour mon besoin?
Merci d'avance.
Dernière modification par Emrhys13 (Le 12/05/2023, à 16:38)
Hors ligne
#2 Le 10/05/2023, à 12:07
- Vobul
Re : [Résolu] message : mon script python ne repond pas
Attends, tu utilises python pour lancer python ???
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#3 Le 10/05/2023, à 18:04
- Emrhys13
Re : [Résolu] message : mon script python ne repond pas
Tu as raison, ce n'est pas nécessaire.
J'ai juste voulu montrer les diverses combinaisons que j'ai essayé et qui fonctionnent sauf que j'ai toujours ce fichu popup
Hors ligne
#4 Le 10/05/2023, à 18:43
- Amiralgaby
Re : [Résolu] message : mon script python ne repond pas
Attends, tu utilises python pour lancer python ???
Ouai on est d'accord c'est perturbant x)
Bon, est-ce que c'est un intérêt sérieux de lancer comme ça ton script python ?
parce qu'avec un
import monscript
ça devrait être possible d'ensuite appeler tes fonctions
sinon je pense que c'est bien monscript qui possède une erreur. As-tu un lien vers ton fichier que tu as mis dans un repository ?
S'il est pas long tu peux le mettre ici (faisons simple : s'il fait moins de 100 lignes colle-le)
Ou même mieux : as-tu poser la question vers un forum spécialisé dans le python ou le développement (moi c'est ce que j'aurai fait) ?
je voulais mettre un screenshot mais je n'ai pas trouvé comment faire.
C'est compliqué.
ce que je peux dire c'est que le forum attend une migration qui permettra d'être nettement plus ergonomique
Vive la communauté du Libre !!!
Hors ligne
#5 Le 10/05/2023, à 20:46
- Vobul
Re : [Résolu] message : mon script python ne repond pas
Perso je pense qu'il ne répond pas car is s'appelle lui-même dans une boucle infinie.
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#6 Le 10/05/2023, à 20:50
- iznobe
Re : [Résolu] message : mon script python ne repond pas
Bonjour , et si tu fais dans un terminal :
python3 /chemin/vers/ton/script.py
ca dis quoi ?
genre :
python3 /home/claude/monscript.py
Apres faudrait peut être voir le contenu de monscript.py , le problème est peut être là .
Dernière modification par iznobe (Le 10/05/2023, à 20:54)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#7 Le 10/05/2023, à 23:07
- Emrhys13
Re : [Résolu] message : mon script python ne repond pas
Bonjour , et si tu fais dans un terminal :
python3 /chemin/vers/ton/script.py
ca dis quoi ?
genre :python3 /home/claude/monscript.py
Apres faudrait peut être voir le contenu de monscript.py , le problème est peut être là .
ca fonctionne bien.
en fait monscript.py est un script avec une interface graphique avec des boutons et chaque bouton lance un script enfant qui a lui aussi une interface graphique specifique.
quand je clique sur les boutons, les scripts enfants se lancent et fonctionnent bien mais après quelques secondes il apparait un popup qui dit que le script parent ne répond pas; c'est normal car le focus est sur le script enfant.
dès que je ferme l'interface du script enfant, le focus revient sur le script parent et le popup disparait de lui même.
ce que j’aimerai c'est que le script parent attende sans avoir ce popup.
très certainement le pb vient du lancement du script. je n'utilise certainement pas la bonne méthode mais je n'ai pas trouvé comment faire autrement.
quelle est la meilleure méthode pour lancer un script avec une interface graphique?
je ne peux pas utiliser import monscript comme le propose Amiralgaby car l'interface du script enfant s'affiche immédiatement au lancement du script parent
Hors ligne
#8 Le 10/05/2023, à 23:11
- Vobul
Re : [Résolu] message : mon script python ne repond pas
C'est un problème de lock du thread parent avec tk. J'avais moi aussi ce problème avec une app python GUI qui lançait une tâche en fond. Pendant l'exécution de la tâche, l'interface était non répondante. J'ai réglé le problème en changeant de métier.
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#9 Le 11/05/2023, à 08:06
- Emrhys13
Re : [Résolu] message : mon script python ne repond pas
C'est un problème de lock du thread parent avec tk. J'avais moi aussi ce problème avec une app python GUI qui lançait une tâche en fond. Pendant l'exécution de la tâche, l'interface était non répondante. J'ai réglé le problème en changeant de métier.
OK Merci. j’espère que d'autres personnes auront une solution un peu plus technique
Hors ligne
#10 Le 11/05/2023, à 11:30
- Vobul
Re : [Résolu] message : mon script python ne repond pas
En gros il faut que tu utilises les threads. Voir résultats d'une recherche : "python gui app tk thread".
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#11 Le 12/05/2023, à 16:38
- Emrhys13
Re : [Résolu] message : mon script python ne repond pas
Bonjour,
j'ai fini par trouver la solution à mon problème. avec subprocess.Popen il suffit d'ajouter l'argument shell=True et les popups gênants n'apparaissent plus.
ex: subprocess.Popen(["script.py"], shell=True)
en tout cas merci à tous ceux qui ont essayé de m'aider.
Hors ligne
#12 Le 12/05/2023, à 18:34
- Vobul
Re : [Résolu] message : mon script python ne repond pas
Nan mais c'est complètement bizarre d'appeller un script python depuis un programme python en passant par le shell ! Mais bon si ça marche hein !
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne