无法导入 Julia 包的依赖项

时间:2021-01-20 16:58:37

标签: julia

我有一个 julia 包,比如我从 git 安装的“Foo.jl”。该软件包尚未在 Pkg 注册表中注册,并且具有依赖关系,例如“X.jl”。当我运行 using X 时,julia 会引发错误,指出未安装“X”。但是运行 Foo 的函数我没有看到这样的错误。

有没有办法解决这个问题?如何让安装 Foo 让我使用它的依赖项而不单独安装它们?

2 个答案:

答案 0 :(得分:2)

为了能够在 Julia 中使用包,您需要添加它们。例如,如果您添加了 Plots 包,那么这还将添加 Plots 依赖项中的其他几个包。但是,除非您将它们明确添加到您的环境中,否则您将无法使用它们。

例如,如果您添加 Plots.jl,这将添加许多依赖项,例如Tables 包,但是除非您将其添加到您的环境中,否则您将无法执行 using Tables。但是,Plots 仍将使用 Tables 包。

也就是说,在 Julia 中添加包的方法有多种(完整信息参见 Documentation of Pkg.jl)。我将它们分为注册包、未注册包和不在github上的未注册包。

要使用 Pkg,您首先必须通过以下方式导入它:

using Pkg

否则你也可以在 REPL 中使用它的功能,使用右方括号 ] 然后是命令(例如 ]add Example

注册包:

Pkg.add("Example")

github 上未注册的包:

Pkg.add(url="https://github.com/fredrikekre/ImportMacros.jl")

未注册的本地包:

Pkg.add(path="path/to/package")

答案 1 :(得分:0)

你可以试试using Foo.X

示例:OhMyREPL.jl 取决于 Crayons.jl

julia> using OhMyREPL

julia> using OhMyREPL.Crayons

julia> crayon"0000ff" # @crayon_str is exported by Crayons.jl
\e[38;2;0;0;255m
相关问题