从 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
进入您的代码所在的目录。
我有一个 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
进入您的代码所在的目录。