Geben Sie die Installationsposition des Pakets an

385
Michael Greenburg

Gibt es eine Möglichkeit, in der Befehlszeile anzugeben, wo Conda Pakete installiert und Vorbedingungen findet? Wenn ich ein neues Paket mit conda create --prefix /path/to/whereiwantstuff/envs/envname pkg1 pkg2der Umgebung erstellt habe, wohnt es dort, wo ich es gesagt habe, aber Pakete werden immer noch am ersten Speicherort unter pkgs_dirsmeiner .condarc(oder der Standardeinstellung ~/.conda/pkgs) installiert . Es scheint keine Befehlszeilenoption zu geben, um anzugeben, wohin Pakete gehen sollen.

Das Endziel besteht darin, Benutzern das Erstellen von Gruppen- und individuellen Umgebungen zu ermöglichen. Möglicherweise verwenden Benutzer A, B und C der Gruppe ABC einen bestimmten Satz von Software, die besagte Software kann / sollte jedoch nicht systemweit installiert werden (zB Nischen-Software in einer HPC-Umgebung). Idealerweise gibt es eine /path/to/group_dir/.condaUmgebung, in der sowohl Umgebungen als auch Pakete ablaufen und auf die jeder zugreifen kann, der über die richtigen Berechtigungen und die folgenden Berechtigungen verfügt .condarc:

envs_dirs: - ~/.conda/envs - /path/to/group_dir/.conda/envs pkgs_dirs: - ~/.conda/pkgs - /path/to/group_dir/.conda/pkgs 

Ist das möglich, ohne etwas zu hacken wie das ständige Ändern .condarcoder manuelle Verschieben von Paketen?

0

1 Antwort auf die Frage

1
Michael Greenburg

Ich fand nie einen Befehlszeilenparameter, konnte aber mit Umgebungsmodulen denselben Zweck erfüllen . Die Umgebungsvariablen CONDA_ENVS_PATH und CONDA_PKGS_DIRS ermöglichen die Verwendung beliebiger Verzeichnisse für Conda-Umgebungen und -Pakete. Wenn Sie diese und CONDARC ( hier beschrieben ) in einer Moduldatei angeben, können Sie das Gruppen-Conda-Modul laden und sich keine Gedanken darüber machen, wo Umgebungen und Pakete enden.

Hier ist eine etwas vereinfachte Version des Moduls:

#%Module1.1  conflict miniconda module-whatis "Provides group Miniconda"  set PREFIX "/path/to/group/software/miniconda3" set GROUP_CONDA "/path/to/group/software/.conda"  prepend-path PATH "$/bin" setenv CONDARC "$/.condarc" setenv CONDA_ENVS_PATH "$/envs" setenv CONDA_PKGS_DIRS "$/pkgs"