webentwicklung-frage-antwort-db.com.de

Installierte Dateien eines Pakets auflisten?

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: 

  1. 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.

  2. 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. 

8
biocyberman

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)

4
Andre Holzner

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. 

2
biocyberman