exécuter script python depuis applescript |
Bienvenue invité ( Connexion | Inscription )
exécuter script python depuis applescript |
23 Oct 2013, 00:43
Message
#1
|
|
Nouveau Membre Groupe : Membres Messages : 7 Inscrit : 10 Oct 2009 Membre no 143 575 |
Salut à tous,
Comment exécuter un script python depuis applescript du type : Code do shell script "python chemin/fichier.py" mais ça plante python ! ou mieux encore un applescript intégrant le script python en entier sans appeler un fichier.py voilà, si vous avez une idée, merci |
|
|
23 Oct 2013, 09:55
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 031 Inscrit : 27 Apr 2004 Membre no 18 176 |
Bonjour,
Code do shell script "python chemin/fichier.py" fonctionne sans problème chez moi. Est-ce que ton script fonctionne déjà en direct (depuis le terminal) ? Code python chemin/fichier.py et que donne Code which python ainsi que Code python -V
-------------------- Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
Futur ex-macbidouilleur, sous Dell / Ubuntu depuis 2021 ! |
|
|
23 Oct 2013, 11:24
Message
#3
|
|
Nouveau Membre Groupe : Membres Messages : 7 Inscrit : 10 Oct 2009 Membre no 143 575 |
Salut audionuma et merci
do shell script "python chemin/fichier.py" plante python, applescript resultat : error "Fatal Python error: PyThreadState_Get: no current thread" number 1006 python chemin/fichier.py marche bien depuis terminal which python renvoie : /Library/Frameworks/Python.framework/Versions/2.7/bin/python python -V renvoie : Python 2.7.5 je te joins le début du rapport de plantage (signaler à Apple...) : Process: Python [1526] Path: /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python Identifier: Python Version: 2.7.2 (2.7.2) Code Type: X86-64 (Native) Parent Process: AppleScript Editor [1333] User ID: 501 PlugIn Path: /Library/Frameworks/Python.framework/Versions/2.7/Python PlugIn Identifier: org.python.python PlugIn Version: 2.7.5, [c] 2004-2013 Python Software Foundation. (2.7.5) Date/Time: 2013-10-23 12:15:30.830 +0200 OS Version: Mac OS X 10.8.5 (12F45) Report Version: 10 Sinon, je viens de m'apercevoir que ça plante seulement lorsque je lance un .py avec : from pymaxwell import * (un module de Maxwell render, rendu 3D) mais curieusement ça plante depuis applescript (do shell script), mais ça fonctionne depuis terminal |
|
|
23 Oct 2013, 11:31
Message
#4
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 944 Inscrit : 9 Apr 2010 Membre no 152 689 |
Salut,
En fait, il y 2 versions de python installé sur OS X, les 2 sont 2.7.5 mais une est 32 bit et l'autre 64. Suivant la lib que tu utilise (Maxwell), il est possible qu'elle n'utilise que l'une ou l'autre de ces infrastructures. Tu peux le voir au terminal : Code file `which python` Et Il faudrait que tu saches quelle version ta lib demande. Edit, chez moi : Code /Library/Frameworks/Python.framework/Versions/2.7/bin/python: Mach-O universal binary with 2 architectures /Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture ppc): Mach-O executable ppc /Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture i386): Mach-O executable i386 Mais normalement tu dois avoir aussi une x86_64 que j'ai du virer il me semble. Ce message a été modifié par Akirami - 23 Oct 2013, 11:35. -------------------- Z77M D3H - Céléron G870 LGA 1155 - DDR3 16 Go - NVidia GT 640 2 Go
Z97P D3 - i5 4460 LGA 1150 - DDR3 12 Go - NVidia GT 740 2 Go Z390 Designare - i5 9400 - DDR4 2133 Mhz - Sapphire Pulse 5500 XT 8 G0 |
|
|
23 Oct 2013, 12:11
Message
#5
|
|
Nouveau Membre Groupe : Membres Messages : 7 Inscrit : 10 Oct 2009 Membre no 143 575 |
Salut Akirami et merci
Code file `which python` renvoieCode /Library/Frameworks/Python.framework/Versions/2.7/bin/python: Mach-O universal binary with 2 architectures /Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture i386): Mach-O executable i386 /Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64 Je ne sais pas si ça peut être une question de 32 ou 64 bits. Mais c'est curieux que ça fonctionne depuis le terminal et pas depuis Applescript ! Citation Et Il faudrait que tu saches quelle version ta lib demande. comment je peux faire pour le savoir ? |
|
|
23 Oct 2013, 12:44
Message
#6
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 944 Inscrit : 9 Apr 2010 Membre no 152 689 |
Je ne sais pas si ça peut être une question de 32 ou 64 bits. Mais c'est curieux que ça fonctionne depuis le terminal et pas depuis Applescript ! Citation Et Il faudrait que tu saches quelle version ta lib demande. comment je peux faire pour le savoir ? D'après ce que je viens de lire, pymaxwell64 est la version 64 bit, pymaxwell est la version 32 bits, celle que tu as installé je suppose. Aussi dans ton rapport d'erreur, Applescript lance la version X86_64 de python, ça ne pourra pas fonctionner. Il faut modifier le Path de python, je sais le faire avec des environnements virtuels mais pas avec Applescript ou Automator. Un truc simple à faire serait peut être d’installer la version PPC/i386 de python et de linker cette version dans ton Applescript (elle s'installera dans les applications) -------------------- Z77M D3H - Céléron G870 LGA 1155 - DDR3 16 Go - NVidia GT 640 2 Go
Z97P D3 - i5 4460 LGA 1150 - DDR3 12 Go - NVidia GT 740 2 Go Z390 Designare - i5 9400 - DDR4 2133 Mhz - Sapphire Pulse 5500 XT 8 G0 |
|
|
23 Oct 2013, 17:23
Message
#7
|
|
Nouveau Membre Groupe : Membres Messages : 7 Inscrit : 10 Oct 2009 Membre no 143 575 |
D'après ce que je viens de lire, pymaxwell64 est la version 64 bit, pymaxwell est la version 32 bits, celle que tu as installé je suppose. je suppose que tu as trouvé pymaxwell64 ici, ce n'est pas celui-ci. Le mien n'a rien à voir avec Blender. J'ai 4 versions livrées avec Maxwell Render (pour python 2.6-32 bits, 2.7-64 bits, 3.1-32 bits et 3.2-64 bits), j'ai installé la 2.7 64 bits. du nouveau Code echo $PATH depuis le terminal renvoie :/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin Code do shell script "echo $PATH" depuis applescript renvoie :/usr/bin:/bin:/usr/sbin:/sbin on voit clairement que Applescript ne trouve pas les chemins vers python ! pourquoi ??? PS: Python est installé avec le systeme sur mac, mais j'ai installé aussi la version 2.7.5 (la plus récente en 2.7) Ce message a été modifié par Thy06 - 23 Oct 2013, 17:57. |
|
|
23 Oct 2013, 18:49
Message
#8
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 944 Inscrit : 9 Apr 2010 Membre no 152 689 |
Une fois c'est exécuter par usr/bin/local, une autre fois en usr/local/bin d'où l’intérêt de créer des environnements virtuels pour python sur OS X.
Le problème est que le terminal t'envoie sur usr/local/bin qui lancera la version 64 bit. Si tu regardes dans usr/bin/local, tu trouveras tous les alias des versions de python installées qui mènent vers /Library/Frameworks/Python.framework/Versions/2.7/bin/ Ici, j'ai bien une version /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-32, soit en 32 bit et une 2.7 normal qui est la 64 bit. Le plus simple restant d'installer la version PPC/i386 de python, elle s'installera dans le dossier application indépendamment des autres et il suffira de linker le python launcher dans Applescript (il sera installé avec). Je le vois comme cela mais je suis loin d'être expert en Applescript. Ce message a été modifié par Akirami - 23 Oct 2013, 18:54. -------------------- Z77M D3H - Céléron G870 LGA 1155 - DDR3 16 Go - NVidia GT 640 2 Go
Z97P D3 - i5 4460 LGA 1150 - DDR3 12 Go - NVidia GT 740 2 Go Z390 Designare - i5 9400 - DDR4 2133 Mhz - Sapphire Pulse 5500 XT 8 G0 |
|
|
24 Oct 2013, 12:45
Message
#9
|
|
Nouveau Membre Groupe : Membres Messages : 7 Inscrit : 10 Oct 2009 Membre no 143 575 |
Tout est résolu
c'était un conflit entre la version du système python 2.7.2 (installée par défaut) et la version 2.7.5 que j'ai installée (et n'aurais pas dû). Le module pymaxwell depuis applescript s'emmêlait les pinceaux et plantait. J'ai donc désinstallé la 2.7.5, supprimé des fichiers, modifié le $PATH (fichier ".bash_profile" manuellement avec Textedit) et tout va beaucoup mieux maintenant. Code do shell script "python chemin/fichier.py" fonctionneet j'ai trouvé aussi comment intégrer directement le code python dans l'applescript : Code do shell script "python <<EOF -- script python ici EOF" merci donc à audionuma et Akirami |
|
|
Nous sommes le : 20th April 2024 - 13:18 |