Conda Version pip install -r Anforderungen.txt --target ./lib

108

Was ist die Conda-Version davon?

pip install -r requirements.txt --target ./lib

Ich habe diese Befehle gefunden:

while read requirement; do conda install --yes $requirement; done < requirements.txt

Es wird jedoch nicht angegeben, wie angegeben werden soll --target ./lib

Vineeth Kanaparthi
quelle

Antworten:

162

Sie können conda install --file requirements.txtanstelle der Schleife ausführen , aber in conda install befindet sich kein Zielverzeichnis . conda installInstalliert eine Liste von Paketen in einer angegebenen Conda-Umgebung.

phd
quelle
1
Wenn ich dies für meine requirements.txtangegebenen Versionen von Paketen InvalidVersionSpec: Invalid version '3.0.': empty version component
mache
Es gibt uns kein Zielverzeichnis für in conda install. Jedoch einen Standort für eine virtuelle Umgebung spezifiziert ist möglich mit dem --prefixoptionalen Argumente ( doc ) und Zielumgebung Spezifikationen kann mit dem gegeben werden --nameoder --prefixoptionalen Argumenten ( doc ).
Remi Cuingnet
52

So erstellen Sie eine Umgebung mit dem Namen py37Python 3.7 mithilfe des Kanals conda-forge und einer Liste von Paketen:

conda create -y --name py37 python=3.7
conda install --force-reinstall -y -q --name py37 -c conda-forge --file requirements.txt
conda activate py37
...
conda deactivate

Flaggen erklärt:

  • -y: Bitten Sie nicht um Bestätigung.
  • --force-reinstall: Installieren Sie das Paket, auch wenn es bereits vorhanden ist.
  • -q: Fortschrittsbalken nicht anzeigen.
  • -c: Zusätzlicher Kanal zur Suche nach Paketen. Dies sind URLs, die in der Reihenfolge gesucht werden

Die Ansible-Rolle dockpack.base_miniconda kann Conda-Umgebungen verwalten und zum Erstellen eines Docker-Basisimages verwendet werden.

Alternativ können Sie anstelle von require.txt eine Datei environment.yml erstellen:

name: py37
channels:
  - conda-forge
dependencies:
  - python=3.7
  - numpy=1.9.*
  - pandas

Verwenden Sie diesen Befehl, um die Umgebungen aufzulisten, die Sie haben:

conda info --envs

Verwenden Sie diesen Befehl, um die Umgebung zu entfernen:

conda env remove -n py37
bbaassssiiee
quelle
19
Das Erklären der Flaggen wäre nützlich
Ataxias
Gibt es einen Grund, warum nach dem 2. Befehl über Python3 aus der Umgebung entfernt wird und Python2 der einzige ist, der noch übrig ist?
ionox0
conda verwaltet Python-Umgebungen, conda deaktiviert setzt Ihre Shell zurück, conda aktiviert py37 setzt Ihren PFAD.
bbaassssiiee
8

Sie können dies immer versuchen:

/home/user/anaconda3/bin/pip install -r requirements.txt

Hierbei wird einfach der in der Conda-Umgebung installierte Pip verwendet. Wenn pip in Ihrer Umgebung nicht vorinstalliert ist, können Sie jederzeit den folgenden Befehl ausführen

conda install pip
Amrit Das
quelle
2

Eine schnelle Suche in den offiziellen Dokumenten der Conda hilft Ihnen dabei, herauszufinden, was jede Flagge tut.

Bisher:

  • -y: Bitten Sie nicht um Bestätigung.
  • -f: Ich denke es sollte sein --file , also liest es Paketversionen aus der angegebenen Datei.
  • -q: Fortschrittsbalken nicht anzeigen.
  • -c: Zusätzlicher Kanal zur Suche nach Paketen. Dies sind URLs, die in der Reihenfolge gesucht werden
KingDarBoja
quelle
0

würde das funktionieren

cat requirements.txt | while read x; do conda install "$x" -p ./lib ;done

oder

conda install --file requirements.txt -p ./lib
Johndacostaa
quelle