Managing packages — conda 24.3.1.dev64 documentation (2024)

Note

There are many options available for the commands describedon this page. For details, see commands.

Searching for packages#

Use the terminal for the following steps.

To see if a specific package, such as SciPy, is available forinstallation:

conda search scipy

To see if a specific package, such as SciPy, is available forinstallation from Anaconda.org:

conda search --override-channels --channel defaults scipy

To see if a specific package, such as iminuit, exists in aspecific channel, such as http://conda.anaconda.org/mutirri,and is available for installation:

conda search --override-channels --channel http://conda.anaconda.org/mutirri iminuit

Installing packages#

Use the terminal for the following steps.

To install a specific package such as SciPy into an existingenvironment "myenv":

conda install --name myenv scipy

If you do not specify the environment name, which in thisexample is done by --name myenv, the package installsinto the current environment:

conda install scipy

To install a specific version of a package such as SciPy:

conda install scipy=0.15.0

To install multiple packages at once, such as SciPy and cURL:

conda install scipy curl

Note

It is best to install all packages at once, so that all ofthe dependencies are installed at the same time.

To install multiple packages at once and specify the version ofthe package:

conda install scipy=0.15.0 curl=7.26.0

To install a package for a specific Python version:

conda install scipy=0.15.0 curl=7.26.0 -n py34_env

If you want to use a specific Python version, it is best to usean environment with that version. For more information,see Troubleshooting.

Installing similar packages#

Installing packages that have similar filenames and serve similarpurposes may return unexpected results. The package last installedwill likely determine the outcome, which may be undesirable.If the two packages have different names, or if you're buildingvariants of packages and need to line up other software in the stack,we recommend using Mutex metapackages.

Installing packages from Anaconda.org#

Packages that are not available using conda install can beobtained from Anaconda.org, a package management service forboth public and private package repositories. Anaconda.orgis an Anaconda product, just like Anaconda and Miniconda.

To install a package from Anaconda.org:

  1. In a browser, go to http://anaconda.org.

  2. To find the package named bottleneck, type bottleneckin the top-left box named Search Packages.

  3. Find the package that you want and click it to go to thedetail page.

    The detail page displays the name of the channel. In thisexample it is the "pandas" channel.

  4. Now that you know the channel name, use the conda installcommand to install the package. In your terminal window, run:

    conda install -c pandas bottleneck

    This command tells conda to install the bottleneck packagefrom the pandas channel on Anaconda.org.

  5. To check that the package is installed, in your terminal window, run:

    conda list

    A list of packages appears, including bottleneck.

Note

For information on installing packages from multiplechannels, see Managing channels.

Installing non-conda packages#

If a package is not available from conda or Anaconda.org, you may be able tofind and install the package via conda-forge or with another package managerlike pip.

Pip packages do not have all the features of conda packages and we recommendfirst trying to install any package with conda. If the package is unavailablethrough conda, try finding and installing it withconda-forge.

If you still cannot install the package, you can tryinstalling it with pip. The differences between pip andconda packages cause certain unavoidable limits in compatibility but condaworks hard to be as compatible with pip as possible.

Note

Both pip and conda are included in Anaconda and Miniconda, so you do notneed to install them separately.

Conda environments replace virtualenv, so there is no need to activate avirtualenv before using pip.

It is possible to have pip installed outside a conda environment or inside aconda environment.

To gain the benefits of conda integration, be sure to install pip inside thecurrently active conda environment and then install packages with thatinstance of pip. The command conda list shows packages installed this way,with a label showing that they were installed with pip.

You can install pip in the current conda environment with the commandconda install pip, as discussed in Using pip in an environment.

If there are instances of pip installed both inside and outside the currentconda environment, the instance of pip installed inside the current condaenvironment is used.

To install a non-conda package:

  1. Activate the environment where you want to put the program:

    • In your terminal window, run conda activate myenv.

  2. To use pip to install a program such as See, in your terminal window, run:

    pip install see
  3. To verify the package was installed, in your terminal window, run:

    If the package is not shown, install pip as described in Using pip in an environmentand try these commands again.

Installing commercial packages#

Installing a commercial package such as IOPro is the same asinstalling any other package. In your terminal window, run:

conda install --name myenv iopro

This command installs a free trial of one of Anaconda'scommercial packages called IOPro, which can speed up yourPython processing. Except for academic use, this free trialexpires after 30 days.

Viewing a list of installed packages#

Use the terminal for the following steps.

To list all of the packages in the active environment:

conda list

To list all of the packages in a deactivated environment:

conda list -n myenv

Listing package dependencies#

To find what packages are depending on a specific package inyour environment, there is not one specific conda command.It requires a series of steps:

  1. List the dependencies that a specific package requires to run:conda search package_name --info

  2. Find your installation’s package cache directory:conda info

  3. Find package dependencies. By default, Anaconda/Miniconda stores packages in ~/anaconda/pkgs/ (or ~/opt/pkgs/ on macOS Catalina).Each package has an index.json file which lists the package’s dependencies.This file resides in ~anaconda/pkgs/package_name/info/index.json.

  4. Now you can find what packages depend on a specific package. Use grep to search all index.json filesas follows: grep package_name ~/anaconda/pkgs/*/info/index.json

The result will be the full package path and version of anything containing the <package_name>.

Example:grep numpy ~/anaconda3/pkgs/*/info/index.json

Output from the above command:

/Users/testuser/anaconda3/pkgs/anaconda-4.3.0-np111py36_0/info/index.json: numpy 1.11.3 py36_0/Users/testuser/anaconda3/pkgs/anaconda-4.3.0-np111py36_0/info/index.json: numpydoc 0.6.0 py36_0/Users/testuser/anaconda3/pkgs/anaconda-4.3.0-np111py36_0/info/index.json: numpy 1.11.3 py36_0

Note this also returned “numpydoc” as it contains the string “numpy”. To get a more specific resultset you can add < and >.

Updating packages#

Use conda update command to check to see if a new update isavailable. If conda tells you an update is available, you canthen choose whether or not to install it.

Use the terminal for the following steps.

  • To update a specific package:

    conda update biopython
  • To update Python:

    conda update python
  • To update conda itself:

    conda update conda

Note

Conda updates to the highest version in its series, soPython 3.8 updates to the highest available in the 3.x series.

To update the Anaconda metapackage:

conda update condaconda update anaconda

Regardless of what package you are updating, conda comparesversions and then reports what is available to install. If noupdates are available, conda reports "All requested packages arealready installed."

If a newer version of your package is available and you wish toupdate it, type y to update:

Proceed ([y]/n)? y

Preventing packages from updating (pinning)#

Pinning a package specification in an environment preventspackages listed in the pinned file from being updated.

In the environment's conda-meta directory, add a filenamed pinned that includes a list of the packages that youdo not want updated.

EXAMPLE: The file below forces NumPy to stay on the 1.7 series,which is any version that starts with 1.7. This also forces SciPy tostay at exactly version 0.14.2:

numpy 1.7.*scipy ==0.14.2

With this pinned file, conda update numpy keeps NumPy at1.7.1, and conda install scipy=0.15.0 causes an error.

Use the --no-pin flag to override the update restriction ona package. In the terminal, run:

conda update numpy --no-pin

Because the pinned specs are included with each condainstall, subsequent conda update commands without--no-pin will revert NumPy back to the 1.7 series.

Adding default packages to new environments automatically#

To automatically add default packages to each new environment that you create:

  1. Open a terminal window and run:conda config --add create_default_packages PACKAGENAME1 PACKAGENAME2

  2. Now, you can create new environments and the default packages will be installed in all of them.

You can also edit the .condarc file with a list of packages to createby default.

You can override this option at the command prompt with the --no-default-packages flag.

Removing packages#

Use the terminal for the following steps.

  • To remove a package such as SciPy in an environment such asmyenv:

    conda remove -n myenv scipy
  • To remove a package such as SciPy in the current environment:

    conda remove scipy
  • To remove multiple packages at once, such as SciPy and cURL:

    conda remove scipy curl
  • To confirm that a package has been removed:

    conda list
Managing packages — conda 24.3.1.dev64 documentation (2024)
Top Articles
Latest Posts
Article information

Author: The Hon. Margery Christiansen

Last Updated:

Views: 6190

Rating: 5 / 5 (70 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: The Hon. Margery Christiansen

Birthday: 2000-07-07

Address: 5050 Breitenberg Knoll, New Robert, MI 45409

Phone: +2556892639372

Job: Investor Mining Engineer

Hobby: Sketching, Cosplaying, Glassblowing, Genealogy, Crocheting, Archery, Skateboarding

Introduction: My name is The Hon. Margery Christiansen, I am a bright, adorable, precious, inexpensive, gorgeous, comfortable, happy person who loves writing and wants to share my knowledge and understanding with you.