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

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.


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

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

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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.