如何在JuliaBox笔记本中调用自定义Julia模块?
解决JuliaBox中无法调用自定义模块的问题
我来帮你搞定这个模块加载的问题!你遇到的报错是因为Julia默认只会在预设的LOAD_PATH目录里查找模块,而你上传的自定义模块不在这个路径里,所以Julia误以为它是需要安装的官方包。下面给你两种简单可行的解决办法:
方法1:将模块所在目录添加到LOAD_PATH
- 首先确认你的
MyModule.jl文件所在的路径。在JuliaBox的笔记本里运行pwd()就能看到当前工作目录,如果模块和笔记本在同一个文件夹里,这个路径就是你需要的。 - 把这个路径添加到Julia的加载路径中:
push!(LOAD_PATH, pwd()) # 如果模块在当前工作目录就用这个 # 如果模块在子文件夹,比如叫modules,就用: # push!(LOAD_PATH, joinpath(pwd(), "modules")) - 之后再运行
using MyModule就可以成功加载模块了。
方法2:直接include模块文件并调用
这种方法不需要修改LOAD_PATH,更适合临时使用:
- 直接加载你的模块文件:
include("MyModule.jl") # 如果模块在子文件夹,就写:include(joinpath("modules", "MyModule.jl")) - 然后用带点的语法调用本地模块:
using .MyModule # 这里的.非常重要,代表这是当前作用域下的本地模块
小提示
- 每次重启JuliaBox的会话后,方法1的LOAD_PATH修改会失效,需要重新运行添加代码;方法2则每次都要先include文件。
- 如果你的模块依赖其他包,记得先在JuliaBox里用
Pkg.add("依赖包名")安装好依赖。
内容的提问来源于stack exchange,提问作者Mark Birtwistle
相关产品推荐
相关产品推荐

