2

我有我自己的 Julia 包foo,它存储在里面/private/tmp/foo,看起来像:

foo
├── Project.toml
└── src
    └── foo.jl

我想在我要运行的实验中使用它。因此我

  1. bar为我的实验创建一个新目录
  2. 创建一个新的 Julia 环境以使用Julia, ],activate .
  3. 我现在foo安装(bar) pkg> dev /private/tmp/foo

我现在可以foo在里面使用bar

julia> import foo
[ Info: Precompiling foo [79e59c38-1f99-4492-a045-e17729c6f495]

julia> foo.greet()
Hello World!

我现在用 安装 Pluto (bar) pkg> add Pluto,并打开一个新的 Pluto notebook。即使我仍然在barfoo安装的环境中,我也得到了ArgumentError: Package foo not found in current path:如下图所示。

冥王星找不到 foo

如何创建自己的模块,在笔记本中安装和使用它?理想情况下Revise.jl仍在工作。

4

1 回答 1

2

即使我还在酒吧环境中,

你检查过你还在里面吗?您是否手动激活环境?

在最近的版本中,Pluto 笔记本有自己的独立环境,存储在笔记本文件中。您可以:

  • dev你的包也在这个笔记本环境中,或者
  • 像 Pluto wiki 描述的那样显式激活外部环境。例如:
begin
    import Pkg
    # activate the shared project environment
    Pkg.activate(Base.current_project())
    # instantiate, i.e. make sure that all packages are downloaded
    Pkg.instantiate()

    import foo
end
于 2022-02-03T16:18:07.947 回答