JMP Pro 15 从日志生成 Python 代码你好
正在尝试从 jsl 脚本运行生成 Python 代码。 它运行良好。 当我将脚本放入日志脚本按钮中时,未生成 python 代码。
我尝试了帮助中的示例,得到了相同的结果。
我正在使用 jmp pro15。
谢谢


回复:JMP Pro 15 从日志生成 Python 代码解决方法效果很好。
研发部门正在解决一个缺陷。
非常感谢。
回复:JMP Pro 15 从日志生成 Python 代码道歉。 我正在逐行测试代码,忘记进行最终测试。
如果你仔细观察,你会发现我已经注释掉了生成 Python 代码的行,因此没有编辑器窗口可以按标题捕获并从中检索代码。 以下脚本纠正了该错误。 我还附上了一份日志,显示它是通过单击按钮执行的。
感谢您将此信息发送给技术支持。
Names Default To Here( 1 );
fd = Formula Depot();
Show(fd);
dt = Open( "$SAMPLE_DATA/Iris.jmp" );
md = dt << Run Script( "Nominal Logistic" );
predictor = md << Publish Probability Formulas;
// Save code to string - doesn't work inside Journals
// py_code = fd << Generate Python Code(Formulas( predictor ), "No Editor");
// just generate to editor instead
fd << Generate Python Code(Formulas( predictor ));
// Get a handle to editor window and retrieve code from it
// Requires the title of the script as argument, which is based on
// model name and data set.
win = Window("Fit_Nominal_Logistic_Species");
py_code = win[scriptbox(1)] << get text;
Save Text File( "$TEMP\logist_J.py", py_code );
Open("$TEMP\logist_J.py");回复:JMP Pro 15 从日志生成 Python 代码谢谢。
解决方法既不能作为脚本窗口,也不能通过日志来工作。 收到相同的错误消息。
无论如何,我在技术支持处开了一张票。

回复:JMP Pro 15 从日志生成 Python 代码感谢您检查, @杰夫·珀金森。
我也能够重现该问题。 当从日志中调用生成 python 时,“无编辑器”选项将被忽略。 它“始终”启动脚本编辑器,就像在 JMP 13 中所做的那样。
这让我想起了当时我是如何测试这段代码的。 因此,我使用相同的技术为您的脚本编写解决方法。 它不是很漂亮,但在我们找到解决方案之前,它可能足以让您继续下去。 无论如何,请联系技术支持。
Names Default To Here( 1 );
fd = Formula Depot();
Show(fd);
dt = Open( "$SAMPLE_DATA/Iris.jmp" );
md = dt << Run Script( "Nominal Logistic" );
predictor = md << Publish Probability Formulas;
<BR />// Save code to string - doesn't work inside Journals
// py_code = fd << Generate Python Code(Formulas( predictor ), "No Editor");
// Get a handle to editor window and retrieve code from it
// Requires the title of the script as argument, which is based on
// model name and data set.
win = Window("Fit_Nominal_Logistic_Species");
py_code = win[scriptbox(1)] << get text;
Save Text File( "$TEMP\logist_J.py", py_code );
Open("$TEMP\logist_J.py");
回复:JMP Pro 15 从日志生成 Python 代码通过将该脚本放入日志中的脚本按钮中,我能够按照您的建议重现您所看到的问题。
我觉得@nascif_jmp有联系技术支持的最佳建议, support@jmp.com 。他们将最有能力诊断问题并推荐解决方案。
请将您从他们那里找到的任何信息发回此处。
回复:JMP Pro 15 从日志生成 Python 代码谢谢。
但是,正如我之前所写,我使用 jmp 帮助中的示例代码进行了尝试。 当从脚本窗口运行时它可以工作,但当从日志脚本按钮执行时,它似乎不会生成 Python 代码(作为字符串)。
这是帮助示例代码:
Names Default To Here( 1 );
fd = Formula Depot();
dt = Open( "$SAMPLE_DATA/Iris.jmp" );
md = dt << Run Script( "Nominal Logistic" );
predictor = md << Publish Probability Formulas;
// Save code to string
py_code = fd <<
Generate Python Code(
Formulas( predictor ),
No Editor
);
// shortcut using predictor reference
// py_code = predictor << Generate Python Code(No Editor);
Save Text File( "$TEMP\logist.py", py_code );
// Open code in editor window
fd << Generate Python Code( Formulas( predictor ) );
回复:JMP Pro 15 从日志生成 Python 代码当用户单击 Journal 按钮时,您将“生成 Python 代码”消息发送到哪个对象?
它应该是有效的 Formula Depot 参考。 我的猜测是该消息被发送到另一种类型的对象,并被忽略。
然后,保存 Python 代码的变量为空,这会在尝试将其保存到文本文件时导致错误。
因此,您可以尝试的另一件事是在代码中添加“Show(py_code)”语句。 始终仔细检查变量的内容!
我还建议在技术支持的帮助下解决这个问题,因为您将能够共享您的代码、数据等。
这对于弄清楚发生了什么有很大帮助。