JMP® 有一个 jpip 包装器,它只是pip的一个薄包装器,因为它完全支持此类功能,例如通过需求文件安装包。下面是两个脚本,一个 JSL,一个 Python。每个脚本都使用 JSL Pick File()对话框让用户选择需求文件,然后将路径传递给jmputis.jpip()来处理需求文件。显示的大部分代码都在利用文件选择对话框。使用硬编码路径,只需两行 Python 即可完成:
从 jmputils 导入 jpip
jpip('安装','-r _path_to_requirements.txt')
只需一个小技巧就能实现这个效果。
jmputils.jpip()函数只是 pip 上的一个包装器,用于确保在隔离的 JMP 环境中安装包。安装和使用需求文件很简单。由于包装器的原因,这需要以特定的方式表达。pip 命令的“-r”后面必须紧跟文件名。为确保这一点,应将其与jpip的“package”字符串参数放在一起。以下代码适用于 JMP 18.0 及更新版本。这些示例将包含在 JMP 19 的脚本索引中。
来自 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}')
]\");
来自 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}')