Julia Pluto cannot find dev installed package

616 Views Asked by At

I have my own Julia package called foo which is stored in /private/tmp/foo and looks like:

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

I'd like to use it in an experiment I'm going to run. As such I

  1. Create a new dir called bar for my experiments
  2. Create a new Julia env to use Julia, ],activate .
  3. I now install foo with (bar) pkg> dev /private/tmp/foo

I can now use foo within bar

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

julia> foo.greet()
Hello World!

I now install Pluto with (bar) pkg> add Pluto, and open a new Pluto notebook. Even though I’m still in the bar env, which has foo installed I get a ArgumentError: Package foo not found in current path: as shown in the image below.

Pluto cannot find foo

How can I create my own module, install and use it within a notebook? Ideally with Revise.jl still working.

1

There are 1 best solutions below

2
Sundar R On BEST ANSWER

Even though I’m still in the bar env,

Have you checked that you are still in it? Did you manually activate the environment?

In recent versions, Pluto notebooks have their own individual environments that are stored inside the notebook file. You can either:

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