Handle the planning of installs and their execution.


conda.install uses canonical package names in its interface functions, whereas conda.resolve uses package filenames, as those are used as index keys. We try to keep fixes to this "impedance mismatch" local to this module.



display_actions(actions, index[, show_channel_urls, ...])

add_unlink(actions, dist)

add_defaults_to_specs(r, linked, specs[, update, prefix])


revert_actions(prefix[, revision, index])

execute_actions(actions, index[, verbose])

_plan_from_actions(actions, index)

_inject_UNLINKLINKTRANSACTION(plan, index, prefix, ...)

_handle_menuinst(unlink_dists, link_dists)

install_actions(prefix, index, specs[, force, ...])


execute_plan(old_plan[, index, verbose])

Deprecated: This should conda.instructions.execute_instructions instead.

execute_instructions(plan[, index, verbose, _commands])

Execute the instructions in the plan


Update an old plan object to work with

display_actions(actions, index, show_channel_urls=None, specs_to_remove=(), specs_to_add=())#
add_defaults_to_specs(r, linked, specs, update=False, prefix=None)#
revert_actions(prefix, revision=-1, index=None)#
execute_actions(actions, index, verbose=False)#
_plan_from_actions(actions, index)#
_inject_UNLINKLINKTRANSACTION(plan, index, prefix, axn, specs)#
_handle_menuinst(unlink_dists, link_dists)#
install_actions(prefix, index, specs, force=False, only_names=None, always_copy=False, pinned=True, update_deps=True, prune=False, channel_priority_map=None, is_update=False, minimal_hint=False)#
execute_plan(old_plan, index=None, verbose=False)#

Deprecated: This should conda.instructions.execute_instructions instead.

execute_instructions(plan, index=None, verbose=False, _commands=None)#

Execute the instructions in the plan

  • plan -- A list of (instruction, arg) tuples

  • index -- The meta-data index

  • verbose -- verbose output

  • _commands -- (For testing only) dict mapping an instruction to executable if None

then the default commands will be used


Update an old plan object to work with conda.instructions.execute_instructions