在朱莉娅(Julia)中的脚本中使用情节



我一直在jupyter笔记本中制作一些朱莉娅代码,但是它已经超过了笔记本格式,我想将其放在脚本中以正确地组织它。但是,我无法弄清楚如何在脚本中工作,找不到任何文档。

这是一个最小的不工作示例:

using Plots
gr()
display(plot([1,3,2]))
println("here")

此代码需要20-30秒才能导入图,然后打开一个窗口,但立即将其关闭,打印"此处"并退出。导入过程发生时,我无法使用CTRL-C。

所以,我有三个问题:

  • 我如何防止绘图窗口打开后立即关闭?我想要的是脚本阻止或(理想地(输入事件循环,直到关闭窗口并在此之后终止。

  • 可以以某种方式减少进口时间?

  • 是否存在用于使用jupyter环境外的图的任何文档?

如果有所不同,我正在Mac上使用Julia 1.1.1。

实现您在第一个子弹中寻找的工作流程的最自然方法是使用Juno或VS代码。假设在您的工作目录中,您在文件script.jl中具有以下代码:

using Plots
gr()
display(plot([1,3,2]))
hello = "world"
println("here")

现在启动Juno或VS代码,并启动集成的Julia Repp。从朱莉娅(Julia(补充中,您可以使用 include来源脚本:

julia> include("script.jl")
Plot{Plots.GRBackend() n=1}
here

现在,您的脚本已经完全运行,该图可在绘图窗格中查看(对于Juno和VS代码都是正确的(。现在,您可以继续在replep中继续使用include其他文件,也可以交互方式运行其他代码。请注意,script.jl中定义的变量可用于使用:

julia> hello
"world"

编辑:

如果您使用-i选项运行脚本(用于Interactive(,则绘图GUI将保持打开状态,并且在脚本运行后将启动一个备用:

$ julia -i script.jl

可以在此处找到朱莉娅可执行文件的各种选项,也可以通过在终端中键入$ julia --help来找到。

可以通过提前编译绘图软件包来消除导入时间,并使用packageCompiler.jl软件包将其烘烤到朱莉娅的可执行文件中。这是软件包网站

的链接

https://julialang.github.io/packagecompiler.jl/dev/

请参阅有关如何执行此操作的教程,第一个教程是关于编译语法突出显示软件包。那一个替代了您的默认" sysimage"。第二个教程是关于创建一个可加载的" sysimage",其中绘制了绘图。

但是,我无法获得第二个"可加载系统"的工作,所以我甚至使用第一个教程的方式。

此更改后,使用图和图((基本上是即时的。

相关内容

  • 没有找到相关文章