Wersja Conda pip install -r Requirements.txt --target ./lib

125

Jaka jest wersja Conda tego?

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

Znalazłem te polecenia:

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

Ale nie mówi, jak określić --target ./lib

vineth kanaparthi
źródło

Odpowiedzi:

182

Możesz uruchomić conda install --file requirements.txtzamiast pętli, ale w instalacji conda nie ma katalogu docelowego . conda installinstaluje listę pakietów w określonym środowisku Conda.

Phd
źródło
1
Kiedy robię to na moich requirements.txtspecyfikowanych wersjach pakietów, to otrzymujęInvalidVersionSpec: Invalid version '3.0.': empty version component
Dr_Zaszuś
Nie mamy katalogu docelowego dla w conda install. Jednak określenie lokalizacji środowiska wirtualnego jest możliwe za pomocą --prefixopcjonalnego argumentu ( doc ), a specyfikacje środowiska docelowego można podać z argumentami opcjonalnymi --namelub --prefix( doc ).
Remi Cuingnet
57

Aby stworzyć środowisko nazwane py37w Pythonie 3.7, używając kanału conda-forge i listy pakietów:

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

Wyjaśnienie flag:

  • -y: Nie pytaj o potwierdzenie.
  • --force-reinstall: Zainstaluj pakiet, nawet jeśli już istnieje.
  • -q: Nie wyświetlaj paska postępu.
  • -c: Dodatkowy kanał do wyszukiwania pakietów. To są adresy URL wyszukiwane w kolejności

Rola ansible dockpack.base_miniconda może zarządzać środowiskami Conda i może służyć do tworzenia podstawowego obrazu Dockera.

Alternatywnie możesz utworzyć plik environment.yml zamiast Requirements.txt:

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

Użyj tego polecenia, aby wyświetlić listę posiadanych środowisk:

conda info --envs

Użyj tego polecenia, aby usunąć środowisko:

conda env remove -n py37
bbaassssiiee
źródło
19
przydatne byłoby wyjaśnienie flag
Ataxias
Czy jest jakiś powód, dla którego po drugim poleceniu powyżej python3 zostanie usunięty ze środowiska, a python2 jest jedynym pozostałym?
ionox0
1
conda zarządza środowiskami Pythona, conda dezaktywacja resetuje powłokę, conda aktywacja py37 ustawia ścieżkę.
bbaassssiiee
Może to być przydatne, jeśli dodasz, gdzie umieścić plik yaml i jak zainstalować z niego środowisko. Myślę, że środowisko nie istnieje tak po prostu, jeśli masz plik yaml.
Harvey
9

Zawsze możesz spróbować:

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

To po prostu wykorzystuje pip zainstalowany w środowisku Conda. Jeśli pip nie jest preinstalowany w twoim środowisku, zawsze możesz uruchomić następującą komendę

conda install pip
Amrit Das
źródło
Po prostu pip install -r Requirements.txt działa świetnie.
Tms91,
2

Szybkie wyszukiwanie w oficjalnych dokumentach Conda pomoże ci dowiedzieć się, co robi każda flaga.

Jak dotąd:

  • -y: Nie pytaj o potwierdzenie.
  • -f: Myślę, że tak powinno być --file, więc czyta wersje pakietów z podanego pliku.
  • -q: Nie wyświetlaj paska postępu.
  • -c: Dodatkowy kanał do wyszukiwania pakietów. To są adresy URL wyszukiwane w kolejności
KingDarBoja
źródło
0

czy to zadziała?

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

lub

conda install --file requirements.txt -p ./lib
johndacostaa
źródło