Ich habe meine Hausaufgaben gemacht: Conda-Dokumentation gesucht, ausprobiert und gelesen. Ich konnte jedoch keine Antwort auf diese scheinbar allgemeine und einfache Aufgabe finden: Listen Sie Dateien auf, die zu einem installierten Paket gehören. Wie mache ich das?
Meine Conda-Version: conda 4.3.30
Ich habe mir list, info, search, and package
Unterbefehle angesehen.
Meine Anwendungsfälle dafür:
Wenn ein Paket 'A' ein anderes Paket 'B' als Abhängigkeit installiert hat. Aber B hat einen Fehler oder die Installation ist irgendwie kaputt, ich möchte prüfen, welche Dateien B installiert hat.
Eine erweiterte Verwendung: Wenn Befehle von A den Befehl b
von B aufrufen, aber ich weiß nicht genau, wie der Name B aussieht. Eine umgekehrte Suche basierend auf b
zum Herausfinden von B lässt mich mehr darüber erfahren.
Wenn Sie die entsprechende Anaconda-Umgebung aktiviert haben, können Sie die Datei ${CONDA_PREFIX}/conda-meta/<package-name-and-version>-<hash>.json
und das Element files
suchen.
(das funktioniert mit Miniconda unter Linux)
Es wurde herausgefunden, dass alle Pakete, die conda installiert haben, unter <root_environment>/pkgs
gespeichert sind. root environment
und andere Informationen können Sie durch Ausführen von conda info
herausfinden.
Dann listen Sie die Dateien auf, die ein Paket hat:
tree <root_environment>/pkgs/<package_name>-<package_version>
oder mit find
kann man auch herausfinden, welches heruntergeladene Paket den Befehl hat:
find <root_environment> -type f -iname 'somecommand'
<root_environment>
hier ist ein Platzhalter für so etwas wie ~/anaconda
, wenn man anaconda in ~/anaconda
installiert hat
Diese Lösung ist eher * nix-spezifisch, aber für mich gut genug.