
    wBf                    ~    d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	 ddl
m
Z
 er
dd	lmZmZmZ dd
Ze
dd       Zy)zgCLI implementation for `conda install`.

Installs the specified packages into an existing environment.
    )annotationsN)_StoreTrueAction)TYPE_CHECKING   )
deprecated)notices)ArgumentParser	Namespace_SubParsersActionc           
        ddl m} ddlm} ddlm} ddlm}m}m	}m
} d}	 |d|	 d	      }
 |d
      } | j                  	 d$|	|
|d|}|j                  dddd        ||      \  }}} ||        ||       |j                  dd|d        ||       |j                  ddt        j                  ddt        d             |j                  dd|d       |j                  d|dd |!       |j!                  d"#       |S )%Nr   )dals)NULL   )NullCountAction) add_parser_create_install_updateadd_parser_pruneadd_parser_solveradd_parser_update_modifiersz>Install a list of packages into a specified conda environment.z	
        a5  

        This command accepts a list of package specifications (e.g, bitarray=0.8)
        and installs a set of packages consistent with those specifications and
        compatible with the underlying environment. If full compatibility cannot
        be assured, an error is reported and the environment is not changed.

        Conda attempts to install the newest versions of the requested packages. To
        accomplish this, it may update some packages that are already installed, or
        install additional packages. To prevent existing packages from updating,
        use the --freeze-installed option. This may force conda to install older
        versions of the requested packages, and it does not prevent additional
        dependency packages from being installed.

        If you wish to skip dependency checking altogether, use the '--no-deps'
        option. This may result in an environment with incompatible packages, so
        this option must be used with great caution.

        conda can also be called with a list of explicit conda package filenames
        (e.g. ./lxml-3.2.0-py27_0.tar.bz2). Using conda in this mode implies the
        --no-deps option, and should likewise be used with great caution. Explicit
        filenames and package specifications cannot be mixed in a single command.
        a  
        Examples:

        Install the package 'scipy' into the currently-active environment::

            conda install scipy

        Install a list of packages into an environment, myenv::

            conda install -n myenv scipy curl wheel

        Install a specific version of 'python' into an environment, myenv::

            conda install -p path/to/myenv python=3.11

        )helpdescriptionepilogz
--revisionstorez!Revert to the specified REVISION.REVISION)actionr   metavarz--force-reinstall
store_truezEnsure that any user-requested package for the current operation is uninstalled and reinstalled, even if that package already exists in the environment.)r   defaultr   z-mz--mkdirz24.9z25.3zUse `conda create` instead.)addendum)r   z	--clobberzlAllow clobbering (i.e. overwriting) of overlapping file paths within packages and suppress related warnings.z--devzUse `sys.executable -m conda` in wrapper scripts instead of CONDA_EXE. This is mainly for use during tests where we test new conda sources against old Python versions.dev)r   r   destr   zconda.cli.main_install.execute)funcinstall)
auxlib.ishr   common.constantsr   actionsr   helpersr   r   r   r   
add_parseradd_argumentr   r   r   set_defaults)sub_parserskwargsr   r   r   r   r   r   r   summaryr   r   psolver_mode_optionspackage_install_options_s                   6lib/python3.12/site-packages/conda/cli/main_install.pyconfigure_parserr3      s   !'(  OG			 		K4 	F& 				
 	A NN0	   7W	730! ())*$$O	 %    34((  2	
 ) 	 ((9	 )  NN'    NN8N9H    c                |    ddl m} ddlm} |j                  rt	        dt
        j                          || |d      S )Nr   )contextr   r"   z

WARNING: The --force flag will be removed in a future conda release.
         See 'conda install --help' for details about the --force-reinstall
         and --clobber flags.

)filer#   )base.contextr6   r#   forceprintsysstderr)argsparserr6   r#   s       r2   executer?      s6    & }}
 	
 4++r4   )r+   r   returnr	   )r=   r
   r>   r	   r@   int)__doc__
__future__r   r;   argparser   typingr   deprecationsr   r   r	   r
   r   r3   r?    r4   r2   <module>rH      sB   
 # 
 %   % EEqh 	, 	,r4   