@@ -359,7 +359,11 @@ function resolve(; create=true, force=false)
359359 conda_run_root (` create --yes --no-default-packages --no-channel-priority --prefix $env $conda_args ` )
360360 conda_activate ()
361361 else
362- conda_run (` install --yes --no-channel-priority --freeze-installed $conda_args ` )
362+ # TODO : we'd like to use --freeze-installed instead of --satisifed-skip-solve
363+ # so that already installed packages are not touched. But the option doesn't
364+ # work properly. Even if we filter conda_packages to just include new things,
365+ # conda can secretly downgrade python, which breaks everything.
366+ conda_run (` install --yes --no-channel-priority --satisfied-skip-solve $conda_args ` )
363367 end
364368
365369 # install pip packages
@@ -529,6 +533,7 @@ function add(; conda_channels=nothing, conda_packages=nothing, pip_indexes=nothi
529533 open (io-> TOML. print (io, deps), file, " w" )
530534 if resolve
531535 Deps. resolve (force= true , create= create)
536+ @warn " You will need to restart Julia if this Conda command reinstalled Python or any other packages."
532537 end
533538 return
534539end
@@ -574,6 +579,7 @@ function rm(; conda_channels=nothing, conda_packages=nothing, pip_indexes=nothin
574579 open (io-> TOML. print (io, deps), file, " w" )
575580 if resolve
576581 Deps. resolve (force= true , create= create)
582+ @warn " You will need to restart Julia if this Conda command reinstalled Python or any other packages."
577583 end
578584 return
579585end
0 commit comments