Очевидно, я не могу удалить пакеты из текущей среды (?!)
Дело не в этом, а в том, что вы не можете удалить base environment, это то, что делает флаг --all
.Вы не можете удалить все пакеты в base , потому что там находится исполняемый файл conda.Вместо этого вам нужно удалить все установленные пользователем пакеты.Один из способов сделать это - вернуть вашу среду обратно в исходное состояние перед установкой каких-либо пользовательских пакетов:
> conda install --revision 0
Вы также можете искать другие предыдущие состояния, которые могут быть менее регрессивными, но все же получитьизбавьтесь от ненужных пакетов, которые вы считаете ненужными.
> conda list -n base -r
В конце вы, вероятно, захотите обновить conda
сразу после этого, поскольку он также отменит все обновленияк базовым пакетам.
Ошибки, о боже!
Хотя вышесказанное - действительно правильный путь, я сталкиваюсь с ошибкой:
CondaRevisionError: Невозможно вернуться к 0, так как :: contextlib2-0.5.3-py35_0 отсутствует в repodata.
В целом, меня это беспокоит, потому что кажется, что состояние моегоСреда conda двухлетней давности больше не воспроизводится из состояния восходящих каналов.Я работал в предположении, что этот тип воспроизводимости встроен.
В любом случае, я не знаю чистого способа решить эту проблему, кроме сравнения всех пакетов ревизии 0 с вашей текущей установкой изатем удалить разницу.