cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • JMP will suspend normal business operations for our Winter Holiday beginning on Wednesday, Dec. 24, 2025, at 5:00 p.m. ET (2:00 p.m. ET for JMP Accounts Receivable).
    Regular business hours will resume at 9:00 a.m. EST on Friday, Jan. 2, 2026.
  • We’re retiring the File Exchange at the end of this year. The JMP Marketplace is now your destination for add-ins and extensions.

Discussions

Solve problems, and share tips and tricks with other JMP users.
%3CLINGO-SUB%20id%3D%22lingo-sub-34283%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EEx%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20JSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-34283%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EJe%20souhaite%20ex%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20mon%20code%20JSL.%20Quelle%20est%20la%20meilleure%20fa%C3%A7on%20de%20le%20faire%3F%20Merci%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-221590%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Ex%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20JSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-221590%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EMise%20%C3%A0%20jour%20%3A%20depuis%20JMP%2014.0%20(et%20bien%20am%C3%A9lior%C3%A9%20en%2015.0)%2C%20la%20meilleure%20fa%C3%A7on%20d'ex%C3%A9cuter%20Python%20%C3%A0%20partir%20de%20JSL%20est%20d%C3%A9sormais%20d'utiliser%20l'interface%20JMP%20impl%C3%A9ment%C3%A9e%20dans%20les%20commandes%20Python%20Init()%2C%20Python%20Submit()%2C%20etc.%3C%2FP%3E%0A%3CP%3EPlus%20d'informations%20ici%20%3A%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.jmp.com%2Fsupport%2Fhelp%2F14-2%2Fpython-integration-functions.shtml%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.jmp.com%2Fsupport%2Fhelp%2F14-2%2Fpython-integration-functions.shtml%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EPour%20un%20wrapper%20prenant%20en%20charge%20l'ex%C3%A9cution%20des%20environnements%20virtuels%20Anaconda%2C%20v%C3%A9rifiez%26nbsp%3B%3A%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2FJMP-Scripts%2FAnaconda-Environments-Integration%2Fta-p%2F221565%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.jmp.com%2Ft5%2FJMP-Scripts%2FAnaconda-Environments-Integration%2Fta-p%2F221565%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-45510%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Ex%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20JSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-45510%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Ex%20%3D%20RunProgram(%0A%20executable(%20%22%2Fpath%2Fanaconda%2Fbin%2Fpython%22%20)%2C%0A%20options(%20%22%2Fpath%2Ffilename.py%22%20)%2C%0A%20readfunction(%20%22blob%22%20)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3EEnsuite%2C%20pour%20faire%20l'inverse%2C%20ex%C3%A9cutez%20JSL%20%C3%A0%20partir%20d'un%20script%20python.Cela%20fonctionne%20sur%20un%20Mac%2C%20JMP%2013.2%20(et%20c'est%20du%20python%20et%20non%20du%20jsl)%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Eimport%20os%3CBR%20%2F%3E%0Aos.system('open%20%2FApplications%2FJMP%5C%20Pro%5C%2013.app%2FContents%2FMacOS%2FJMP%20%2Fpath%2Fscript.jsl')%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3El'argument%20open%20a%20le%20chemin%20de%20l'application%2C%20un%20espace%20puis%20le%20chemin%2Ffichier%20%C3%A0%20ouvrir.%3C%2FP%3E%0A%3CP%3EIl%20est%20probablement%20important%20d'avoir%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3E%2F%2F!%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3Esur%20la%20premi%C3%A8re%20ligne%20du%20script%20pour%20qu'il%20s'ex%C3%A9cute%20automatiquement.%20Et%20puis%20sur%20la%20derni%C3%A8re%20ligne%2C%20incluez%20ceci%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3EQuit()%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3ECela%20fermera%20l'instance%20de%20JMP%20d%C3%A9marr%C3%A9e%20par%20os.sytem.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-42759%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Ex%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20JSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-42759%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EJ'utilise%20le%20pilote%20ODBC%2064%20bits%20d'Oracle%20pour%20Oracle%2011%20pour%20communiquer%20avec%20une%20base%20de%20donn%C3%A9es%20Oracle%20v12.%20Je%20n'ai%20vu%20aucun%20comportement%20comme%20vous%20l'avez%20mentionn%C3%A9.%20Je%20l'ai%20utilis%C3%A9%20pour%20JMP%2011%20et%2012.%20Nous%20n'avons%20pas%20encore%20compl%C3%A8tement%20migr%C3%A9%20vers%20JMP%2013%26nbsp%3B%3B%20La%20v13.1.0%20a%20corrig%C3%A9%20un%20bug%20o%C3%B9%20la%20V13.0%20ne%20pouvait%20pas%20lire%20un%20CLOB.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EJe%20n'ai%20jamais%20pu%20faire%20fonctionner%20le%20pilote%20Oracle%20ODBC%20de%20Microsoft.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EBonne%20chance!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-42757%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Ex%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20JSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-42757%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EJ'utilise%20maintenant%20les%20pilotes%20ODBC%20et%20ils%20ne%20sont%20pas%20fiables.%20Je%20ne%20pense%20pas%20vraiment%20que%20ce%20soit%20JMP%2C%20mais%20le%20passage%20de%20JMP%2012-13%20et%20d'Oracle%2011-12%20a%20d%C3%A9finitivement%20boulevers%C3%A9%20l'applecart.%20Je%20sais%20que%20je%20dois%20fermer%20et%20rouvrir%20les%20connexions%20%C3%A0%20la%20base%20de%20donn%C3%A9es%20toutes%20les%20cinq%20requ%C3%AAtes%20environ%20pour%20que%20les%20choses%20fonctionnent%20de%20mani%C3%A8re%20fiable.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-42756%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Ex%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20JSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-42756%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EIl%20pourrait%20%C3%AAtre%20plus%20simple%20et%20plus%20rapide%20de%20lire%20les%20donn%C3%A9es%20directement%20dans%20JMP%20%C3%A0%20l'aide%20d'un%20pilote%20ODBC.%20Quelle%20est%20votre%20base%20de%20donn%C3%A9es%20SQL%20%3F%20J'ai%20beaucoup%20d'exp%C3%A9rience%20avec%20Oracle%20et%20je%20pourrais%20vous%20aider.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-42755%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Ex%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20JSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-42755%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EUtiliser%3C%2FP%3E%0A%3CP%3E%3CEM%3Etxt%20%3D%20runprogram(%20...%20readfunction(%22texte%22))%3B%3C%2FEM%3E%3C%2FP%3E%0A%3CP%3ESi%20le%20programme%20python%20produit%20une%20sortie%20standard%20(instruction%20d'impression%2C%20etc.)%2C%20il%20reviendra%20%C3%A0%20JSL%20%C3%A0%20la%20suite%20de%20runProgram.%20JSL%20ne%20continuera%20pas%20tant%20que%20le%20programme%20Python%20ne%20se%20terminera%20pas%20avec%3CEM%3E%20fonction%20de%20lecture(%22texte%22)%3C%2FEM%3E%20.%20Vous%20voudrez%20peut-%C3%AAtre%20imprimer%20quelque%20chose%20comme%3C%2FP%3E%0A%3CP%3Enom%20de%20fichier.dat%2C100%3C%2FP%3E%0A%3CP%3Eafin%20que%20JSL%20puisse%20savoir%20qu'il%20y%20a%20100%20lignes%20de%20donn%C3%A9es%20dans%20ce%20fichier.%20Ou%20imprimez%20un%20message%20d'erreur%20et%20g%C3%A9rez-le%20si%20la%20base%20de%20donn%C3%A9es%20n'est%20pas%20disponible.%3C%2FP%3E%0A%3CP%3E(JSL%20poss%C3%A8de%20%C3%A9galement%20certaines%20fonctionnalit%C3%A9s%20SQL%20qui%20pourraient%20%C3%AAtre%20plus%20appropri%C3%A9es%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F1947%22%20target%3D%22_blank%22%3E%20%40Eric_Hill%3C%2FA%3E%20)%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-42741%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Ex%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20JSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-42741%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ECraig%2C%3CBR%20%2F%3E%3CBR%20%2F%3E%20Merci%20pour%20votre%20r%C3%A9ponse%20rapide.%20Ce%20que%20j'essaie%20de%20faire%2C%20c'est%20d'appeler%20le%3CBR%20%2F%3E%20programme%20python%20et%20suspendez%20l'ex%C3%A9cution%20du%20JSL%20jusqu'%C3%A0%20ce%20que%20le%20programme%20python%3CBR%20%2F%3E%20se%20termine.%20Le%20programme%20python%20%C3%A9crit%20sa%20sortie%20dans%20un%20fichier%20que%20je%20voudrais%3CBR%20%2F%3E%20puis%20ouvrez%20et%20r%C3%A9cup%C3%A9rez%20via%20JSL.%20J'essaie%20essentiellement%20d'utiliser%20Python%20pour%3CBR%20%2F%3E%20r%C3%A9cup%C3%A9rer%20les%20donn%C3%A9es%20d'une%20base%20de%20donn%C3%A9es%20pour%20les%20utiliser%20par%20mon%20code%20JSL.%20La%20s%C3%A9quence%20devrait%3CBR%20%2F%3E%20%C3%AAtre%3A%3CBR%20%2F%3E%3CBR%20%2F%3E%201.%20Ex%C3%A9cutez%20JSL%20et%20pr%C3%A9parez%20la%20requ%C3%AAte%20SQL%2C%20celle-ci%20est%20ensuite%20rassembl%C3%A9e%20pour%3CBR%20%2F%3E%20cr%C3%A9ez%20le%20script%20python.%3CBR%20%2F%3E%202.%20Ex%C3%A9cutez%20le%20programme%20python%20et%20mettez%20le%20JSL%20en%20pause%3CBR%20%2F%3E%203.%20Lorsque%20le%20python%20termine%2C%20le%20JSL%20continue%2C%20ouvrant%20le%20fichier%3CBR%20%2F%3E%20python%20enregistr%C3%A9%20et%20trait%C3%A9.%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-42731%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Ex%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20JSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-42731%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EreadFunction%20indique%20%C3%A0%20RunProgram%20comment%20g%C3%A9rer%20la%20sortie%20de%20votre%20programme%20Python%20(les%20donn%C3%A9es%20%C3%A9crites%20sur%20la%20sortie%20standard).%20Si%20vous%20fournissez%20une%20fonction%20JSL%20r%C3%A9elle%2C%20compil%C3%A9e%20par%20le%3CEM%3E%20fonction%3C%2FEM%3E%20fonction%2C%20comme%20dans%20votre%20exemple%2C%20alors%20JSL%20et%20python%20s'ex%C3%A9cutent%20ind%C3%A9pendamment%20et%20chaque%20fois%20que%20JMP%20est%20inactif%2C%20votre%20fonction%20JSL%20peut%20%C3%AAtre%20appel%C3%A9e%20pour%20r%C3%A9cup%C3%A9rer%20un%20peu%20plus%20de%20sortie%20de%20python.%20Cela%20peut%20%C3%AAtre%20utile%20si%20le%20programme%20python%20s'ex%C3%A9cute%20ind%C3%A9finiment%20et%20g%C3%A9n%C3%A8re%20un%20flux%20de%20sortie%20infini.%20L'autre%20exemple%20publi%C3%A9%20ici%20utilise%3CEM%3E%20fonction%20de%20lecture(%22texte%22)%3C%2FEM%3E%20%2C%20qui%20est%20un%20moyen%20simple%20de%20r%C3%A9cup%C3%A9rer%20toutes%20les%20sorties%20du%20programme%20python%20(qui%20doit%20bien%20s%C3%BBr%20se%20terminer).%20La%20sortie%20revient%20comme%20le%20r%C3%A9sultat%20de%20la%20fonction%20runProgram.%3C%2FP%3E%0A%3CP%3ESi%20vous%20fournissez%20une%20fonction%20%C3%A0%20appeler%20par%20runProgram%2C%20vous%20devez%20%C3%A9galement%20conserver%20l'objet%20runprogram%20dans%20une%20variable%20JSL%20afin%20que%20la%20connexion%20entre%20JMP%20et%20Python%20ne%20soit%20pas%20d%C3%A9truite%20trop%20t%C3%B4t%26nbsp%3B%3A%3CEM%3E%20obj%3C%2FEM%3E%20%3D%20ex%C3%A9cuterProgramme(...)%3C%2FP%3E%0A%3CP%3ELe%3CEM%3E%20ce%3C%2FEM%3E%20Le%20param%C3%A8tre%20dans%20readFunction%20est%20le%20m%C3%AAme%20que%20le%3CEM%3E%20obj%3C%2FEM%3E%20variable%20ci-dessus.%20Il%20vous%20donne%20acc%C3%A8s%20aux%20m%C3%A9thodes%20de%20l'objet%20runProgram%2C%20comme%20%26lt%3B%3CREAD.%3E%3C%2FREAD.%3E%3C%2FP%3E%0A%3CP%3Eedit%26nbsp%3B%3A%20Et%20la%20sortie%20de%20la%20fonction%20d'%C3%A9criture%20va%20dans%20le%20journal%20JMP%26nbsp%3B%3B%20assurez-vous%20d'y%20chercher%20vos%20r%C3%A9sultats.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-42706%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Ex%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20JSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-42706%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EJ'ai%20du%20mal%20avec%20la%20commande%20%22Ex%C3%A9cuter%20le%20programme%22.%20La%20ligne%20ci-dessous%20fonctionne%20correctement%20depuis%20une%20invite%20de%20commande%26nbsp%3B%3A%3C%2FP%3E%0A%3CP%3Ec%3A%5Cmycompany%5Canaconda3%5Cpython.exe%20%22c%3A%5Cusers%5Cmyuserid%5Ctemp%5Cpythonsqltest.py%22%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EJ'essaie%20de%20l'ex%C3%A9cuter%20en%20ex%C3%A9cutant%20ce%20script%26nbsp%3B%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%201%20)%3B%0ARP%20%3D%20RunProgram(%0AExecutable(%20%22c%3A%5Cmycompany%5Canaconda3%5Cpython.EXE%22%20)%2C%0AOptions(%20%7B%22c%3A%5Cusers%5Cmyuserid%5Ctemp%5Cpythonsqltest.py%22%7D%20)%2C%0AReadFunction(%20Function(%20%7Bthis%7D%2C%20Write(%20this%20%26lt%3B%26lt%3B%20read%20)%20)%20)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EJe%20pense%20que%20je%20ne%20comprends%20pas%20vraiment%20le%20r%C3%B4le%20que%20joue%20%C2%AB%20ReadFunction%20%C2%BB%20ici.%20Qu'est-ce%20que%20je%20rate%3F%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-34293%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Ex%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20JSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-34293%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EVoici%20un%20exemple%20avec%20lequel%20je%20jouais%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Etxt%3Drunprogram(executable(%22python%22)%2Coptions(%7B%22C%3A%5CUsers%5CUser%5CDesktop%5Ctweepy%5Ctwpy2.py%22%7D)%2Creadfunction(%22text%22))%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3ETweepy%20est%20un%20package%20python%20pour%20Twitter.%20Cet%20exemple%20s'attend%20%C3%A0%20ce%20que%20le%20programme%20python%20d%C3%A9marre%2C%20produise%20une%20sortie%20et%20se%20termine%20avant%20que%20le%20JSL%20ne%20continue.%20Il%20existe%20d'autres%20fa%C3%A7ons%20d'utiliser%20RunProgram.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-34284%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Ex%C3%A9cuter%20un%20script%20Python%20%C3%A0%20partir%20de%20JSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-34284%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EUtilisez%20le%3CBR%20%2F%3E%20Ex%C3%A9cuter%20de%20programme()%3CBR%20%2F%3E%20fonction.%3CBR%20%2F%3E%20Pour%20plus%20de%20d%C3%A9tails%2C%20allez%20%C3%A0%26nbsp%3B%3A%3CBR%20%2F%3E%20Aide%3D%3D%26gt%3BScripting%20Indes%3D%3D%26gt%3BRunProgram%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar

Running Python Script from JSL

I would like to run Python script from my JSL code. What is the best way to do that? Thank you

11 REPLIES 11
Craige_Hales
Super User

Re: Running Python Script from JSL

Here's an example I was playing with

txt=runprogram(executable("python"),options({"C:\Users\User\Desktop\tweepy\twpy2.py"}),readfunction("text"));

Tweepy is a python package for twitter.  This example expects the python program to start, produce output, and terminate, before the JSL continues.  There are other ways to use RunProgram.

Craige
nascif_jmp
Level VI

Re: Running Python Script from JSL

Update: Since JMP 14.0 (and much improved in 15.0), the best way to run Python from JSL is now to use the JMP interface implemented in the commands Python Init(), Python Submit(), etc.

More information here: 

https://www.jmp.com/support/help/14-2/python-integration-functions.shtml

For a wrapper that supports running Anaconda virtual environments, check: 

https://community.jmp.com/t5/JMP-Scripts/Anaconda-Environments-Integration/ta-p/221565

 

Recommended Articles