JMP® dispose d'un wrapper jpip qui n'est qu'un wrapper mince autour de pip, car cette fonctionnalité, comme l'installation de packages via un fichier d'exigences, est entièrement prise en charge. Vous trouverez ci-dessous deux scripts, un JSL et un Python. Chacun utilise une boîte de dialogue JSL Pick File() pour permettre à l'utilisateur de sélectionner le fichier d'exigences, et le chemin est ensuite transmis à jmputis.jpip() pour traiter le fichier d'exigences. La majorité du code affiché utilise la boîte de dialogue de sélection de fichier. Avec un chemin codé en dur, cela peut être fait en deux lignes de Python :
depuis jmputils importer jpip
jpip('install', '-r _chemin_vers_les_exigences.txt')
Il n’y a qu’une petite astuce pour que cela fonctionne.
La fonction jmputils.jpip() n'est qu'un wrapper au-dessus de pip pour garantir que les packages sont installés dans l'environnement JMP isolé. L'installation et l'utilisation d'un fichier d'exigences sont simples. En raison du wrapper, cela doit être exprimé d'une manière spécifique. Le '-r ' de la commande pip doit être immédiatement suivi du nom du fichier. Pour garantir cela, il doit être placé avec le paramètre de chaîne 'package' de jpip . Le code ci-dessous devrait fonctionner pour JMP 18.0 et les versions ultérieures. Ces exemples seront dans l'index des scripts de JMP 19.
De JSL
Names Default To Here(1);
src_path = Pick File(
"Select requirements.txt File",
"$DOCUMENTS",
{"TXT Files|txt", "All Files|*"},
0,
0,
"requirements.txt"
);
If( Host is("Windows"),
src_path = Convert File Path( src_path, windows )
);
Python Send(src_path);
Python Submit("\[
from jmputils import jpip
jpip('install', f'-r {src_path}')
]\");
De Python
import jmp
from jmputils import jpip
jmp.run_jsl('''
Names Default To Here( 1 );
src_path = Pick File(
"Select requirements.txt File",
"$DOCUMENTS",
{"TXT Files|txt", "All Files|*"},
0,
0,
"requirements.txt"
);
show(src_path);
If( Host is("Windows"),
src_path = Convert File Path( src_path, windows )
);
show(src_path);
Python Send(src_path);
''')
jpip('install', f'-r {src_path}')