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.