如何在Julia REPL中启动时导入包(如果可用)

如何在Julia REPL中启动时导入包(如果可用),julia,Julia,我想在启动REPL时导入一个包。在~/.juliarc.jl中放置以下内容是一个开始: if isinteractive() using Humanize end 但是,如果我在没有这个包的机器上启动julia,REPL将无法启动 因此,我尝试了以下方法: if isinteractive() try using Humanize catch end end 但是由于Julia的作用域规则,现在的人性化甚至在全局名称空间中都不可用 最好的解决方

我想在启动REPL时导入一个包。在
~/.juliarc.jl
中放置以下内容是一个开始:

if isinteractive()
    using Humanize
end
但是,如果我在没有这个包的机器上启动
julia
,REPL将无法启动

因此,我尝试了以下方法:

if isinteractive()
    try
        using Humanize
    catch
    end
end
但是由于Julia的作用域规则,现在的
人性化
甚至在全局名称空间中都不可用


最好的解决方案是什么?

尝试下面的方法-在base Julia中出现更好的方法之前:

humanize_exists = isdir(Pkg.dir("Humanize"))
if humanize_exists && isinteractive(); using Humanize; end

谢谢你知道还有更好的吗?当我查看时,我没有注意到任何相关的未决问题。类似这样的建议属于“条件模块”,例如和。我认为,由于基本的范围规则问题,在导入时执行python风格的try-catch将永远不会发生。