список пакетов анаконды, для которых я указал номер версии - PullRequest
2 голосов
/ 26 февраля 2020

Есть ли способ перечислить пакеты, для которых я указал номер версии. Например, если я указал версию scipy, но не версию numpy, установив их следующим образом: conda install scipy=0.15.0 numpy, я хотел бы знать, что для scipy я указал версию 0.15.0. Кроме того, как я могу отменить указание версии пакета, если я не хочу специально использовать эту версию, но я бы хотел получить самую последнюю возможную версию?

Ответы [ 2 ]

2 голосов
/ 26 февраля 2020

Журнал Conda History

Conda отслеживает всю историю каждого env в файле журнала на conda-meta/history. Существует существующий ответ о поиске в этом файле , который будет работать для извлечения такой информации.

Экспорт явных спецификаций

Однако сама Conda отслеживает так называемые "явные спецификации" ", которые относятся к спецификациям, которые пользователь явно просил установить. Новая функция sh (v4.7.12) в команде conda env export предназначена для вывода только явных спецификаций, и это был бы простой способ перейти к запросу OP:

conda env export --from-history

Знайте Однако, к сожалению, некоторые команды (например, conda install --update-deps) могут инициировать автоматическое добавление явных спецификаций, что может свести на нет полезность. В этом случае, скорее всего, придется прибегнуть к grep'ing через журнал history.

Переопределение явных спецификаций

Что касается переопределения спецификаций, то снова появляется новый sh ( v4.7.6) функция для команды conda install, которая делает именно это, а именно --update-specs. Например, предположим, что у нас есть env, foo, с scipy=1.1. Использование --update-specs приведет к обновлению с предыдущего ограничения:

conda create -n foo scipy=1.1
conda install -n foo --update-specs scipy
1 голос
/ 26 февраля 2020

Нет никакого программного c способа извлечь информацию, которую вы ищете. Единственный способ, о котором я мог подумать, - это извлечь историю команд, которые вы ввели при установке ваших пакетов через терминал (в случае машин ma c или linux) или командной строки (в случае машины windows) .

  1. Для проверки истории введенных команд в MA C или LINUX:

    Тип history в окне вашего терминала

  2. Для проверки истории введенных команд в Windows:

    Введите doskey /history или нажмите клавишу F7 в командной строке

После извлечения этой истории команд, которые вы ввели, вы можете создать фрагмент кода для проверки команд, в которых вы указали номера версий.

Как я могу не указывать версию пакета, если я не хочу специально использовать эту версию, но я бы хотел получить самую последнюю возможную версию? Вы можете просто сделать pip install [package_name] --upgrade на случай, если pip или conda update [package_name] в случае, если conda обновит пакет до последней версии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...