Reputation: 5915
I've done my homework: searched, tried and read conda documentation. However, I could not find the answer to this seeming common and simple task: List files that belong to an installed package. How do I do that?
My conda version: conda 4.3.30
I've looked at list, info, search, and package
subcommands.
My use cases for this:
When a package 'A' installed another package 'B' as its dependency. But B has a bug, or the installation somehow broken, I want to check which files B installed.
An extended use: when commands of A calls some command b
of B, but I don't know the exact name of B. A 'reverse' search based on b
to find out B and lets me read more about it.
Upvotes: 33
Views: 21831
Reputation: 1859
For completeness, here is how it may be done from Powershell.
$condaInfo = conda info --json | ConvertFrom-Json
Get-ChildItem -Path $condaInfo.'package cache'[0] -Filter 'pattern' -Recurse -ErrorAction SilentlyContinue -Force
There may be several $condaInfo.'package cache'
folders.
Upvotes: 3
Reputation: 18695
Assuming you have activated the relevant anaconda environment, you can look at the file ${CONDA_PREFIX}/conda-meta/<package-name-and-version>-<hash>.json
and look for the files
element.
(this works with Miniconda on Linux)
Upvotes: 25
Reputation: 5915
Found out that all packages that conda installed are stored under <root_environment>/pkgs
. One can find out about root environment
and other information by running conda info
.
Then to list files that a package has:
tree <root_environment>/pkgs/<package_name>-<package_version>
or with find
, one can also find which downloaded package has the command:
find <root_environment> -type f -iname 'somecommand'
<root_environment>
here is a placeholder for something like ~/anaconda
if one installed anaconda into ~/anaconda
This solution is rather *nix-specific but it is good enough to me.
Upvotes: 7