File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -14,5 +14,31 @@ def configure_parser(parser: argparse.ArgumentParser) -> None:
1414
1515
1616def execute (args : argparse .Namespace ) -> int :
17+ import sys
18+
19+ from conda .core .prefix_data import PrefixData
20+ from conda .core .link import PrefixSetup , UnlinkLinkTransaction
21+ from conda .base .context import context
22+
23+ from ..query import permanent_dependencies
24+
1725 print ("Resetting 'base' environment..." )
26+
27+ installed = sorted (PrefixData (sys .prefix ).iter_records (), key = lambda x : x .name )
28+ uninstallable_packages = permanent_dependencies ()
29+ packages_to_remove = [pkg for pkg in installed if pkg .name not in uninstallable_packages ]
30+
31+ stp = PrefixSetup (
32+ target_prefix = sys .prefix ,
33+ unlink_precs = packages_to_remove ,
34+ link_precs = (),
35+ remove_specs = (),
36+ update_specs = (),
37+ neutered_specs = (),
38+ )
39+
40+ txn = UnlinkLinkTransaction (stp )
41+ if not context .json and not context .quiet :
42+ txn .print_transaction_summary ()
43+ txn .execute ()
1844 return 0
You can’t perform that action at this time.
0 commit comments