Skip to content
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

CondaPkg environments are re-resolved each time a Pluto notebook is opened #2883

Open
stillyslalom opened this issue Apr 4, 2024 · 1 comment
Labels
other packages Integration with other Julia packages package manager Pluto's built-in package manager

Comments

@stillyslalom
Copy link

  1. Video: Animation
  2. Gist: https://gist.github.com/stillyslalom/fcc3e5342244f097d42fa81f72f0b817
  3. Because Pluto creates a new temporary environment each time a notebook is executed, any Conda environment required by the notebook has to be re-resolved each time. Even with all Conda packages cached, this is a fairly slow process - it takes about a minute for my package PyThermo.jl to re-load in an existing Pluto notebook, versus about 10 seconds in the REPL. Other CondaPkg users have encountered the same issue (using CondaPkg with Pluto leads to unnecesarry resolves JuliaPy/CondaPkg.jl#120), but it appears the problem needs to be resolved from the Pluto side.
@fonsp fonsp added other packages Integration with other Julia packages package manager Pluto's built-in package manager labels Apr 9, 2024
@fonsp
Copy link
Owner

fonsp commented Apr 9, 2024

Hey! Thanks for bringing this up, I would like this to work better!

Can you take a look at previous discussion in JuliaPy/PythonCall.jl#102 ?

In particular, I wonder if this would be fixed by storing the contents of CondaPkg.toml in the notebook, just like Project.toml and Manifest.toml, like I suggested in my issue.

Can you check this? To reproduce: make an empty folder called myenv and activate it and set up PyThermo.

  1. Copy myenv and call it myenv2, and remove the CondaPkg.toml file. Measure how long this env takes to start. This should match what Pluto does.
  2. Copy myenv and call it myenv3, and keep the CondaPkg.toml file. Measure how long this env takes to start.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
other packages Integration with other Julia packages package manager Pluto's built-in package manager
Projects
None yet
Development

No branches or pull requests

2 participants