pjo
February 9, 2023, 12:32pm
1
Hello,
j’ai un script python qui ne fonctionne plus sur Wazo 23.02 mais qui fonctionnait avant les changements de version python
Historiquement mon script python faisait appel à
from xivo.agi import AGI
Du coup mon script me renvoi une erreur de type :
Traceback (most recent call last):
File "test.py", line 6, in <module>
from xivo.agi import AGI
ImportError: No module named xivo.agi
Je constate que la librairie (si on peut l’appeler comme ça) n’est plus là dans /usr/lib/python2.7/dist-packages/xivo
Si je regarde dans les dossiers python3* equivalent dans le même repertoire je ne retrouve pas les mêmes fichiers.
Est-ce que quelqu’un saurait m’aider à trouver comment je peux de nouveau importer ce module suite aux derniers changements ?
On a rien changé de ce côté, tu dois juste utiliser python3 ou lieu de python2. Tu dois faire ce changement car le switch à debian11 retire python2.
pjo
February 10, 2023, 10:08am
3
Merci pour ta réponse quintana.
Je vais regarder cette piste et en effet si j’execute en python 3.7 mon module s’importe bien en execution manuelle du script.
Toutefois mon script est appelé dans un dialplan via l’instruction AGI() comme ceci :
same = n,Agi(/var/lib/asterisk/agi-bin/test.py,args)
Tu penses que juste modifier l’entête du script python permettra d’executer le script avec la bonne version de python ou faut-il le faire autrement via asterisk ?
#!/usr/bin/env python3.7
Merci pour votre aide
Je te conseille de mettre
#!/usr/bin/env python3
Car quand on va passer à python3.9 par exemple tu risques de ne plus avoir 3.7 sur le systeme.
Sinon oui tu peux faire ainsi.
En passant, attention un AGI c’est très gourmand en ressource. Si tu peux plutôt faire du FastAGI c’est mieux.
Sylvain
1 Like
pjo
February 10, 2023, 1:35pm
5
Merci beaucoup pour ces conseils.