webentwicklung-frage-antwort-db.com.de

so legen Sie den neuen Umgebungsspeicherort für die Conda-Erstellung fest

der Standardspeicherort für Pakete ist der .conda-Ordner in meinem Home-Verzeichnis. Auf dem Server, den ich verwende, gibt es jedoch eine sehr strenge Begrenzung des verfügbaren Speicherplatzes, wodurch grundsätzlich alles unter meinem Heimatverzeichnis gespeichert wird. Wie kann ich den Speicherort für die virtuelle Umgebung angeben, die ich erstellen möchte? Vielen Dank! Server läuft Ubuntu. 

35
linX

Verwenden Sie die Option --prefix oder -p, um anzugeben, wo die Umgebungsdateien geschrieben werden sollen. Zum Beispiel:

conda create --prefix /tmp/test-env python=2.7

Erstellt die Umgebung mit dem Namen /tmp/test-env, die sich in /tmp/ anstelle des Standardcodes .conda befindet.

58
Paul

wie Paul gesagt hat

conda create --prefix=/users/.../yourEnvName python=x.x

wenn Sie sich in dem Ordner befinden, in dem Sie Ihre virtuelle Umgebung erstellen möchten, lassen Sie den Pfad einfach weg und verwenden Sie

conda create --prefix=yourEnvName python=x.x

conda verfolgt nur die Umgebungen, die in dem Ordner envs im Ordner anaconda enthalten sind. Wenn Sie das nächste Mal Ihr neues Env aktivieren müssen, wechseln Sie in den Ordner, in dem Sie es erstellt haben, und aktivieren Sie es mit

source activate yourEnvName
26
Darth_Tato

Sie können es so erstellen

conda create --prefix C:/tensorflow2 python=3.7

und Sie müssen nicht in diesen Ordner verschieben, um ihn zu aktivieren.

# To activate this environment, use:
# > activate C:\tensorflow2

Wie Sie sehen, mache ich das so.

D:\Development_Avector\PycharmProjects\TensorFlow>activate C:\tensorflow2

(C:\tensorflow2) D:\Development_Avector\PycharmProjects\TensorFlow>

(C:\tensorflow2) D:\Development_Avector\PycharmProjects\TensorFlow>conda --version
conda 4.5.13
3

Während die --prefix-Option funktioniert, müssen Sie sie jedes Mal explizit verwenden, wenn Sie eine Umgebung erstellen. Wenn Sie möchten, dass Ihre Umgebungen standardmäßig an einem anderen Ort gespeichert werden, können Sie sie in Ihrer .condarc-Datei konfigurieren.

Bitte sehen Sie: https://conda.io/docs/user-guide/configuration/use-condarc.html#specify-environment-directories-envs-dirs

1

Wenn Sie die Argumente --prefix oder -p verwenden möchten, aber nicht den vollständigen Pfad der Umgebung zum Aktivieren verwenden müssen, müssen Sie die Konfigurationsdatei .condarc bearbeiten bevor Sie die Umgebung erstellen.

Die Datei .condarc befindet sich im Ausgangsverzeichnis. C:\Users\<user> unter Windows. Bearbeiten Sie die Werte unter dem Schlüssel envs_dirs, um den benutzerdefinierten Pfad für Ihre Umgebung einzuschließen. Angenommen, der benutzerdefinierte Pfad ist D:\envs, dann sollte die Datei ungefähr so ​​aussehen:

ssl_verify: true
channels:
  - defaults
envs_dirs:
  - C:\Users\<user>\Anaconda3\envs
  - D:\envs

Wenn Sie dann eine neue Umgebung auf diesem Pfad erstellen, wird der Name zusammen mit dem Pfad angezeigt, wenn Sie conda env list ausführen, und Sie sollten in der Lage sein, ihn nur mit dem Namen und nicht mit dem vollständigen Pfad zu aktivieren.

Befehlszeilen-Screenshot

Wenn Sie .condarc bearbeiten, um D:\envs einzuschließen, und dann conda env create -p D:\envs\myenv python=x.x ausführen, sollte activate myenv (oder source activate myenv unter Linux) funktionieren.

Hoffentlich hilft das!

P.S. Ich bin durch Versuch und Irrtum darauf gestoßen. Ich denke, was passiert, wenn Sie den Schlüssel envs_dirs bearbeiten und ~\.conda\environments.txt aktualisieren, um die Umgebungen einzuschließen, die sich in allen unter envs_dirs angegebenen Verzeichnissen befinden, sodass auf sie zugegriffen werden kann, ohne absolute Pfade zu verwenden .

0
dkearn

Ich bin in eine ähnliche Situation geraten. Ich hatte Zugriff auf ein größeres Datenlaufwerk. Abhängig von Ihrer Situation und dem Zugriff, den Sie auf den Server haben, können Sie dies berücksichtigen

ln -s /datavol/path/to/your/.conda /home/user/.conda

Anschließend setzen nachfolgende Kondabefehle Daten in das mit symbol verknüpfte Verzeichnis in datavol

0
Paul