从 Julia 代码创建生产就绪的二进制文件

Creating a production ready binary from Julia code

我有一个 Julia 程序,它输入一个 csv 并通过一系列函数转换数据,然后输出一个 csv 文件。我想把它变成一个二进制文件,这样我就可以 运行 在不同的机器上使用而无需在不同的机器上使用源代码。

我正在查看 PackageCompiler.jl,但找不到任何可理解的用于创建二进制应用程序的文档。我正在尝试:

using PackageCompiler

@time create_app("JuliaPrograms", "test"; precompile_execution_file="script.jl")

包含我所有代码的文件是 script.jl,它位于目录 JuliaPrograms 中,我希望将编译后的二进制文件命名为 test.

当我 运行 julia script.jl 它按我想要的方式执行。我希望能够 运行 ./test 得到相同的结果。

但是,我得到这个错误:

ERROR: could not find project at "/Users/userx/JuliaPrograms/"

我做错了什么?我需要一些特殊的项目目录吗?

根据此处的文档:https://julialang.github.io/PackageCompiler.jl/dev/apps.html#Creating-an-app-1 您需要确保定义:

function julia_main()::Cint
  # do something based on ARGS?
  return 0 # if things finished successfully
end

一个名为 julia_main 的函数作为应用程序的入口点。您可以在此处找到示例应用程序:https://github.com/JuliaLang/PackageCompiler.jl/tree/master/examples/MyApp

您可能还想检查代码本身的位置。是否保存在 "/Users/userx/JuliaPrograms/"?您可以通过输入 ; 在 Julia Reply 中切换您的目录,这将使您进入 shell 模式,然后您可以 cd 进入您的代码所在的目录。