@@ -359,7 +359,11 @@ function resolve(; create=true, force=false)
359
359
conda_run_root (` create --yes --no-default-packages --no-channel-priority --prefix $env $conda_args ` )
360
360
conda_activate ()
361
361
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 ` )
363
367
end
364
368
365
369
# install pip packages
@@ -529,6 +533,7 @@ function add(; conda_channels=nothing, conda_packages=nothing, pip_indexes=nothi
529
533
open (io-> TOML. print (io, deps), file, " w" )
530
534
if resolve
531
535
Deps. resolve (force= true , create= create)
536
+ @warn " You will need to restart Julia if this Conda command reinstalled Python or any other packages."
532
537
end
533
538
return
534
539
end
@@ -574,6 +579,7 @@ function rm(; conda_channels=nothing, conda_packages=nothing, pip_indexes=nothin
574
579
open (io-> TOML. print (io, deps), file, " w" )
575
580
if resolve
576
581
Deps. resolve (force= true , create= create)
582
+ @warn " You will need to restart Julia if this Conda command reinstalled Python or any other packages."
577
583
end
578
584
return
579
585
end
0 commit comments