You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何最简打包分发附带预编译包的Julia版本

跨平台Julia预装科学计算常用包解决方案

前置准备

  • 分别在三类平台的对应架构设备上安装官方Julia稳定LTS版本,避免跨版本包兼容性问题
  • 全局安装编译工具:启动Julia后运行using Pkg; Pkg.add("PackageCompiler")
  • 提前安装所有需要预装的课程用包:运行Pkg.add(["Plots", "DifferentialEquations"]),逐个验证包可正常加载使用:Plots需验证默认GR后端可正常绘图,DifferentialEquations需验证简单微分方程可正常求解,排除版本冲突后再进行后续编译操作
  • 提前编写预编译执行脚本precompile_script.jl,写入课程常用的包调用逻辑,示例内容如下:
using Plots
plot(rand(10), rand(10))
savefig(tempname()*".png")
using DifferentialEquations
f(u,p,t) = 1.01*u
u0=1/2
tspan = (0.0,1.0)
prob = ODEProblem(f,u0,tspan)
sol = solve(prob, Tsit5(), reltol=1e-8, abstol=1e-8)

分平台操作步骤

Windows平台

  1. 完成前置准备后,在Julia中运行如下代码生成自定义系统镜像:
using PackageCompiler
create_sysimage(
    [:Plots, :DifferentialEquations],
    sysimage_path = "JuliaCourseSysimage.dll",
    precompile_execution_file = "precompile_script.jl"
)
  1. 下载官方Julia免安装压缩包解压,将生成的JuliaCourseSysimage.dll放入解压目录的bin文件夹内
  2. 同目录下新建启动脚本启动Julia实验环境.bat,写入内容:@echo off && start "" "%~dp0\bin\julia.exe" -J "%~dp0\bin\JuliaCourseSysimage.dll"
  3. 将整个解压目录打包为zip文件分发给学生即可,学生解压后双击bat文件启动,所有预装包直接可用,无需额外下载编译

macOS平台

需按Intel、Apple Silicon两类架构分别编译,镜像不可跨架构通用

  1. 完成前置准备后,在Julia中运行如下代码生成自定义系统镜像:
using PackageCompiler
create_sysimage(
    [:Plots, :DifferentialEquations],
    sysimage_path = "JuliaCourseSysimage.dylib",
    precompile_execution_file = "precompile_script.jl"
)
  1. 右键点击官方Julia.app选择「显示包内容」,进入Contents/Resources/julia/lib/julia/目录,将生成的dylib文件放入该目录
  2. 在Julia.app同级目录下新建启动脚本启动Julia实验环境.command,写入内容:
#!/bin/bash
SCRIPT_DIR=$(cd "$(dirname "$0")"; pwd)
"$SCRIPT_DIR/Julia.app/Contents/Resources/julia/bin/julia" -J "$SCRIPT_DIR/Julia.app/Contents/Resources/julia/lib/julia/JuliaCourseSysimage.dylib"
  1. 给脚本添加执行权限:chmod +x 启动Julia实验环境.command,将脚本和Julia.app打包为dmg即可;也可通过Automator工具将启动脚本封装为标准.app格式,适配学生日常使用习惯

Linux平台

  1. 完成前置准备后,在Julia中运行如下代码生成自定义系统镜像:
using PackageCompiler
create_sysimage(
    [:Plots, :DifferentialEquations],
    sysimage_path = "JuliaCourseSysimage.so",
    precompile_execution_file = "precompile_script.jl"
)
  1. 下载官方Julia免安装tar包解压,将生成的.so文件放入解压目录的lib/julia/文件夹内
  2. 同目录下新建启动脚本启动Julia实验环境.sh,写入内容:
#!/bin/bash
SCRIPT_DIR=$(cd "$(dirname "$BASH_SOURCE")"; pwd)
exec "$SCRIPT_DIR/bin/julia" -J "$SCRIPT_DIR/lib/julia/JuliaCourseSysimage.so" "$@"
  1. 给脚本添加执行权限:chmod +x 启动Julia实验环境.sh,将整个目录打包为tar.gz即可

注意事项

  • 不同操作系统、不同CPU架构的系统镜像不可通用,必须在对应环境下分别编译
  • 后续需要更新预装包时,仅需重新生成对应系统镜像替换原有文件即可,无需重新打包整个Julia环境
  • 学生自行安装额外第三方包不会影响预装包的预编译效果,可正常使用Pkg工具操作
  • 若课程需要使用Jupyter环境,可将IJulia加入预装包列表,在预编译脚本中补充kernel启动相关逻辑即可

内容的提问来源于stack exchange,提问作者Stéphane Mottelet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 09:09:03