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
bar
for my experimentsJulia
, ]
,activate .
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.
How can I create my own module, install and use it within a notebook? Ideally with Revise.jl
still working.
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, orbegin
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