Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Julia Pluto cannot find dev installed package

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.

like image 764
this_josh Avatar asked Oct 20 '25 05:10

this_josh


1 Answers

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:

  • dev your package inside this notebook environment too, or
  • explicitly activate the outside environment like the Pluto wiki describes. For eg:
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
like image 193
Sundar R Avatar answered Oct 22 '25 02:10

Sundar R



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!