-
-
Notifications
You must be signed in to change notification settings - Fork 294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: activate a temp environment when a sysimage is enabled #2700
base: main
Are you sure you want to change the base?
Conversation
Try this Pull Request!Open Julia and type: julia> import Pkg
julia> Pkg.activate(temp=true)
julia> Pkg.add(url="https://github.com/fonsp/Pluto.jl", rev="pg/activate-temp")
julia> using Pluto |
Oooh and can we get that internal manifest? is there also a project? in that case we should activate that internal environment, right? |
I don't think we can get the manifest, but the Pkg knows about it.
Hmm that's a good point. The most important repercussion I think is "What to serialize in cells "0000-...0001" and "0000-...0002", and I don't have a good answer, but I'll ask around |
I think the original assumption was that JH will open Pluto notebooks with a sysimage, and with the Manifest-and-Project-that-was-used-to-generate-the-sysimage stored as the global environment. If people were to use a Julia REPL, we want them to use the global environment, and this way we match that on Pluto. Is that no longer the case? Happy to merge either way because JH is probably the only user. |
I'm not sure that this is the case currently. Pluto runs with the sysimage and opens the notebooks with the sysimage. But |
Starting with Julia 1.8, the sysimage internal manifest (here on
Ⅿ₀
) is included in every Pkg resolution. So, a new, fresh manifest is equivalent toⅯ₀
∪∅
. This is strictly better than the "default" manifest that can be inconsistent with theⅯ₀
, or may include packages that will interfere with the new packages we want to add (e.g. an old version of a package that the package you're adding is depending on).To address that, the proposal is to instantiate a fresh manifest (
temp=true
) instead of the default.