conda install
#
Install a list of packages into a specified conda environment.
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.
usage: conda install [-h] [--revision REVISION] [-n ENVIRONMENT | -p PATH]
[-c CHANNEL] [--use-local] [--override-channels]
[--repodata-fn REPODATA_FNS] [--experimental {jlap,lock}]
[--no-lock] [--repodata-use-zst | --no-repodata-use-zst]
[--strict-channel-priority] [--no-channel-priority]
[--no-deps | --only-deps] [--no-pin] [--copy]
[--no-shortcuts] [--shortcuts-only SHORTCUTS_ONLY] [-C]
[-k] [--offline] [--json] [-v] [-q] [-d] [-y]
[--download-only] [--show-channel-urls] [--file FILE]
[--solver {classic}] [--force-reinstall]
[--freeze-installed | --update-deps | -S | --update-all | --update-specs]
[-m] [--clobber] [--dev]
[package_spec ...]
Positional Arguments#
- package_spec
List of packages to install or update in the conda environment.
Named Arguments#
- --revision
Revert to the specified REVISION.
- --file
Read package versions from the given file. Repeated file specifications can be passed (e.g. --file=file1 --file=file2).
- --dev
Use 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.
Target Environment Specification#
- -n, --name
Name of environment.
- -p, --prefix
Full path to environment location (i.e. prefix).
Channel Customization#
- -c, --channel
Additional channel to search for packages. These are URLs searched in the order they are given (including local directories using the 'file://' syntax or simply a path like '/home/conda/mychan' or '../mychan'). Then, the defaults or channels from .condarc are searched (unless --override-channels is given). You can use 'defaults' to get the default packages for conda. You can also use any name and the .condarc channel_alias value will be prepended. The default channel_alias is https://conda.anaconda.org/.
- --use-local
Use locally built packages. Identical to '-c local'.
- --override-channels
Do not search default or .condarc channels. Requires --channel.
- --repodata-fn
Specify file name of repodata on the remote server where your channels are configured or within local backups. Conda will try whatever you specify, but will ultimately fall back to repodata.json if your specs are not satisfiable with what you specify here. This is used to employ repodata that is smaller and reduced in time scope. You may pass this flag more than once. Leftmost entries are tried first, and the fallback to repodata.json is added for you automatically. For more information, see conda config --describe repodata_fns.
- --experimental
Possible choices: jlap, lock
jlap: Download incremental package index data from repodata.jlap; implies 'lock'. lock: use locking when reading, updating index (repodata.json) cache. Now enabled.
- --no-lock
Disable locking when reading, updating index (repodata.json) cache.
- --repodata-use-zst, --no-repodata-use-zst
Check for/do not check for repodata.json.zst. Enabled by default. (default: Null)
Solver Mode Modifiers#
- --strict-channel-priority
Packages in lower priority channels are not considered if a package with the same name appears in a higher priority channel.
- --no-channel-priority
Package version takes precedence over channel priority. Overrides the value given by conda config --show channel_priority.
- --no-deps
Do not install, update, remove, or change dependencies. This WILL lead to broken environments and inconsistent behavior. Use at your own risk.
- --only-deps
Only install dependencies.
- --no-pin
Ignore pinned file.
- --solver
Possible choices: classic
Choose which solver backend to use.
- --force-reinstall
Ensure that any user-requested package for the current operation is uninstalled and reinstalled, even if that package already exists in the environment.
- --freeze-installed, --no-update-deps
Do not update or change already-installed dependencies.
- --update-deps
Update dependencies that have available updates.
- -S, --satisfied-skip-solve
Exit early and do not run the solver if the requested specs are satisfied. Also skips aggressive updates as configured by the 'aggressive_update_packages' config setting. Use 'conda config --describe aggressive_update_packages' to view your setting. --satisfied-skip-solve is similar to the default behavior of 'pip install'.
- --update-all, --all
Update all installed packages in the environment.
- --update-specs
Update based on provided specifications.
Package Linking and Install-time Options#
- --copy
Install all packages using copies instead of hard- or soft-linking.
- --no-shortcuts
Don't install start menu shortcuts
- --shortcuts-only
Install shortcuts only for this package name. Can be used several times.
- -m, --mkdir
--mkdir is deprecated and will be removed in 25.3. Use conda create instead.
- --clobber
Allow clobbering (i.e. overwriting) of overlapping file paths within packages and suppress related warnings.
Networking Options#
- -C, --use-index-cache
Use cache of channel index files, even if it has expired. This is useful if you don't want conda to check whether a new version of the repodata file exists, which will save bandwidth.
- -k, --insecure
Allow conda to perform "insecure" SSL connections and transfers. Equivalent to setting 'ssl_verify' to 'false'.
- --offline
Offline mode. Don't connect to the Internet.
Output, Prompt, and Flow Control Options#
- --json
Report all output as json. Suitable for using conda programmatically.
- -v, --verbose
Can be used multiple times. Once for detailed output, twice for INFO logging, thrice for DEBUG logging, four times for TRACE logging.
- -q, --quiet
Do not display progress bar.
- -d, --dry-run
Only display what would have been done.
- -y, --yes
Sets any confirmation values to 'yes' automatically. Users will not be asked to confirm any adding, deleting, backups, etc.
- --download-only
Solve an environment and ensure package caches are populated, but exit prior to unlinking and linking packages into the prefix.
- --show-channel-urls
Show channel urls. Overrides the value given by conda config --show show_channel_urls.
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