Версія Conda pip install -r requirements.txt --target ./lib


125

Що таке версія conda?

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

Я знайшов ці команди:

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

Але це не говорить, як конкретизувати --target ./lib

Відповіді:


182

Ви можете запустити conda install --file requirements.txtзамість циклу, але в conda install немає цільового каталогу . conda installвстановлює список пакетів у вказане середовище conda.


1
Коли я роблю це на моїх requirements.txtInvalidVersionSpec: Invalid version '3.0.': empty version component
вказаних

Там немає цільового каталогу для в conda install. Однак вказати місце для віртуального середовища можливо з --prefixдодатковим аргументом ( док ) і специфікаціями навколишнього середовища цілі може бути дано з --nameабо --prefixнеобов'язковими аргументами ( DOC ).
Remi Cuingnet

57

Щоб створити середовище з іменем py37python 3.7, використовуючи канал conda-forge та список пакетів:

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

Пояснення прапорів:

  • -y: Не питайте підтвердження.
  • --force-reinstall: Встановіть пакет, навіть якщо він уже існує.
  • -q: Не відображати індикатор прогресу.
  • -c: Додатковий канал для пошуку пакетів. Це URL-адреси, які шукаються в порядку

Ansible-role dockpack.base_miniconda може керувати середовищами conda і може використовуватися для створення базового образу докера.

Крім того, ви можете створити файл environment.yml замість requirements.txt:

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

За допомогою цієї команди перелічіть середовища, які у вас є:

conda info --envs

Використовуйте цю команду для видалення середовища:

conda env remove -n py37

19
пояснення прапорів було б корисним
Атаксія

Чи є якась причина, чому після того, як 2-ю команду вище python3 видалено із середовища, а python2 залишився єдиним?
ionox0

1
conda керує середовищами python, conda деактивує скидає вашу оболонку, conda activate py37 встановлює ваш PATH.
bbaassssiiee

Це може бути корисно, якщо ви додасте, куди покласти файл yaml і як з нього встановити середовище. Я думаю, середовище не просто виникає, якщо у вас є файл yaml.
Harvey

9

Ви завжди можете спробувати це:

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

Тут просто використовується піп, встановлений у середовищі конда. Якщо pip не встановлено у вашому середовищі, ви завжди можете виконати таку команду

conda install pip

Просто pip install -r requirements.txt чудово працює для мене.
Tms91

2

Швидкий пошук в офіційних документах conda допоможе вам знайти, що робить кожен прапор.

Так далеко:

  • -y: Не питайте підтвердження.
  • -f: Я думаю, що так і повинно бути --file, тому він читає версії пакунків із даного файлу.
  • -q: Не відображати індикатор прогресу.
  • -c: Додатковий канал для пошуку пакетів. Це URL-адреси, які шукаються в порядку

0

це спрацює?

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

або

conda install --file requirements.txt -p ./lib
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.