pkumar0
pkumar0

Reputation: 2239

How to list package versions available with conda

Is there a way to see what package versions are available with conda? I am getting an error with jupyter but it was working before. Something like yolk?

Upvotes: 169

Views: 352053

Answers (12)

Maciej Skorski
Maciej Skorski

Reputation: 3364

conda list <pattern> works too.

(base) root@fb7969c44a12:/# conda list jupyterlab
# packages in environment at /opt/conda:
#
# Name                    Version                   Build  Channel
beatrix-jupyterlab        2023.46.184821           pypi_0    pypi
jupyterlab                3.6.3                    pypi_0    pypi
jupyterlab-git            0.41.0                   pypi_0    pypi
jupyterlab-lsp            4.0.1                    pypi_0    pypi
jupyterlab-server         2.22.0                   pypi_0    pypi
jupyterlab-widgets        3.0.7                    pypi_0    pypi
jupyterlab_pygments       0.2.2              pyhd8ed1ab_0    conda-forge

Upvotes: 3

AniketNanna
AniketNanna

Reputation: 1

Can find all version of Anaconda Conda installation package here: Anaconda_Conda_package

If you have conda installed and want to install different version of conda:
conda install conda=<CONDA_PKG_VERSION>
For example:
conda install conda=23.1.0

Upvotes: 0

mirekphd
mirekphd

Reputation: 6841

To trim down the long and slowly loading conda search output to just the (latest) version(s) appropriate for your environment, you can use MatchSpec filters, as documented here in conda Github repo

For example to get all available builds of scikit-learn pre-compiled for Python 3.11 from the free conda-forge channel, run this in your Linux terminal:

$ conda search "conda-forge/linux-64::scikit-learn=[build=py311*]"
Loading channels: done
# Name                       Version           Build  Channel
scikit-learn                   1.1.3 py311h3b52e38_1  conda-forge
scikit-learn                   1.2.0 py311h67c5ca5_0  conda-forge
scikit-learn                   1.2.1 py311h67c5ca5_0  conda-forge
scikit-learn                   1.2.2 py311h103fc68_1  conda-forge
scikit-learn                   1.2.2 py311h67c5ca5_0  conda-forge
scikit-learn                   1.2.2 py311hc009520_2  conda-forge
scikit-learn                   1.3.0 py311hc009520_0  conda-forge
scikit-learn                   1.3.1 py311hc009520_0  conda-forge

Note that the most recent version is placed at the bottom of the list (they are sorted in chronological order), so it can be found using tail -n1, e.g.:

$ conda search "conda-forge/linux-64::scikit-learn=[build=py311*]" | tail -n1 | awk '{print $2}'
1.3.1

Cautions:

  • using version for narrowing down major and/or minor version is risky, because version=1.*.* would miss versions such as 1.1 or 1,

  • setting architecture (using subdir key) to linux-64 can miss some useful Linux 64-bit packages, if they are stored in the noarch folder instead of linux-64,

  • for some packages an older version of Python may be required (e.g. up to 3.9 for the "deprecated" notebook).

Upvotes: 6

mrr7997
mrr7997

Reputation: 31

example with cudatoolkit:

conda search -c nvidia cudatoolkit

Upvotes: 0

SultanOrazbayev
SultanOrazbayev

Reputation: 16581

To control specific channels, use -c option. For example:

conda search -c conda-forge jupyterlab

The above will also search in the channels listed in .condarc, so to avoid that (and get results faster) one can use --override-channels:

conda search -c conda-forge --override-channels jupyterlab

To only show versions above a specific release, use "{package}>={release}". For example:

conda search -c conda-forge "jupyterlab>=3.5"

Note that some shells (esp. Windows) do not like single quotes, so using double quotes is safer.

Finally, if you intend to use the output in a program, to avoid parsing the results one can use --json:

conda search -c conda-forge --override-channels --json "jupyterlab>=3.6"

This will return:

{
  "jupyterlab": [
    {
      "arch": null,
      "build": "pyhd8ed1ab_0",
      "build_number": 0,
      "channel": "https://conda.anaconda.org/conda-forge/noarch",
      "constrains": [],
      "depends": [
        "ipython",
        "jinja2 >=2.1",
        "jupyter_core",
        "jupyter_server >=1.16.0,<3",
        "jupyter_server_ydoc >=0.6.0,<0.7.0",
        "jupyter_ydoc >=0.2.2,<0.3",
        "jupyterlab_server >=2.19,<3",
        "nbclassic",
        "notebook <7",
        "packaging",
        "python >=3.7",
        "tomli",
        "tornado >=6.1.0"
      ],
      "fn": "jupyterlab-3.6.0-pyhd8ed1ab_0.conda",
      "license": "BSD-3-Clause",
      "license_family": "BSD",
      "md5": "1a9cd36192678fc2175145c9103b95ff",
      "name": "jupyterlab",
      "noarch": "python",
      "package_type": "noarch_python",
      "platform": null,
      "sha256": "66da471830af4f5a7baa6229240c9dfe0fcc43bf20cc576067dab742bf5ec02e",
      "size": 5827178,
      "subdir": "noarch",
      "timestamp": 1675350928375,
      "url": "https://conda.anaconda.org/conda-forge/noarch/jupyterlab-3.6.0-pyhd8ed1ab_0.conda",
      "version": "3.6.0"
    },
    {
      "arch": null,
      "build": "pyhd8ed1ab_0",
      "build_number": 0,
      "channel": "https://conda.anaconda.org/conda-forge/noarch",
      "constrains": [],
      "depends": [
        "ipython",
        "jinja2 >=2.1",
        "jupyter_core",
        "jupyter_server >=1.16.0,<3",
        "jupyter_server_ydoc >=0.6.0,<0.7.0",
        "jupyter_ydoc >=0.2.2,<0.3",
        "jupyterlab_server >=2.19,<3",
        "nbclassic",
        "notebook <7",
        "packaging",
        "python >=3.7",
        "tomli",
        "tornado >=6.1.0"
      ],
      "fn": "jupyterlab-3.6.1-pyhd8ed1ab_0.conda",
      "license": "BSD-3-Clause",
      "license_family": "BSD",
      "md5": "c7de31a5b57a9fc1aa4d3fb9993819c6",
      "name": "jupyterlab",
      "noarch": "python",
      "package_type": "noarch_python",
      "platform": null,
      "sha256": "8f7d234af44356633f8d418ed3001e814215ff09cedbec9583e3fb10fb7cc5e2",
      "size": 5354015,
      "subdir": "noarch",
      "timestamp": 1675434565845,
      "url": "https://conda.anaconda.org/conda-forge/noarch/jupyterlab-3.6.1-pyhd8ed1ab_0.conda",
      "version": "3.6.1"
    }
  ]
}

Upvotes: 11

Yuchen
Yuchen

Reputation: 101

I installed pip in conda, so pip list also works

Upvotes: 3

Amir Forsati
Amir Forsati

Reputation: 5970

To get the version of certain package you can filter it by grep Like:

$ conda list | grep tensorflow

Result:

tensorflow                2.2.0           mkl_py36h5a57954_0  
tensorflow-base           2.2.0           mkl_py36hd506778_0  
tensorflow-estimator      2.2.0              pyh208ff02_0  

Upvotes: 9

user0004
user0004

Reputation: 141

If you know the name of the package you want to install search for all available versions of it. eg. for package pandas you will do the following

conda search pandas

and then install the version you want using

conda install pandas=1.0.2

Upvotes: 13

The Student Soul
The Student Soul

Reputation: 2492

To search for a specific package, use: conda search -f <package_name>. For example, based on the question, to search all versions for "jupyter" package, you'll do: conda search -f jupyter. This will only return information about packages named "jupyter" exactly.

Source: https://docs.conda.io/projects/conda/en/latest/commands/search.html

Upvotes: 195

Shahir Ansari
Shahir Ansari

Reputation: 1848

To list packages that are installed on your anaconda machine

conda list

This is to list all packages available for anaconda

conda search

Upvotes: 50

Ehsan
Ehsan

Reputation: 400

As an addendum, you can use the output of conda search to fine-tune the version of the package you need installed. E.g. in the list from the 'nasica88', there are three albaster 0.7.7 versions available with with different python versions. If you require e.g. albaster 0.7.7 with python 3.4, you install it as following:

$> conda install albaster=0.7.7=py34_0

So, the second = sign is your friend here.

Upvotes: 23

nasica88
nasica88

Reputation: 1205

You can just type "conda search" which will give you something like the following.

$ conda search 
Fetching package metadata .........
affine                       2.0.0                    py27_0  defaults
                             2.0.0                    py35_0  defaults
                             2.0.0                    py36_0  defaults
alabaster                    0.7.3                    py27_0  defaults
                             0.7.3                    py34_0  defaults
                             0.7.7                    py27_0  defaults
                             0.7.7                    py34_0  defaults
                             0.7.7                    py35_0  defaults
                             0.7.9                    py27_0  defaults

Upvotes: 74

Related Questions