Я запустил дистрибутив Python Anaconda на Ubuntu Linux 18.04 LTS x64 и только что обновил дистрибутив обычным conda update --all
. После этого в сообщении командной строки предлагалось обновить базовые настройки conda. Теперь по какой-то причине у меня возникла пара вопросов. Во-первых, я не могу запустить jupyter lab
, даже после попытки переустановить conda install jupyter
. И во-вторых, я получаю это новое предупреждение.
WARNING conda.base.context:use_only_tar_bz2(632):
Conda is constrained to only using the old .tar.bz2
file format because you have conda-build installed,
and it is <3.18.3. Update or remove conda-build to
get smaller downloads and faster extractions.
Итак, я посмотрел и нашел этот блог с сегодняшнего дня о том, как сделать Анаконду быстрее. Но пост, кажется, больше информации и не рекомендует обновлять сразу.
Вот вывод из conda info
.
active environment : XXX
active env location : XXX
shell level : 2
user config file : ../.condarc
populated config files : ../.condarc
conda version : 4.7.5
conda-build version : 3.17.8
python version : 3.6.6.final.0
virtual packages : __cuda=10.1
base environment : ../anaconda3 (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : ../.conda/pkgs
envs directories : ../.conda/envs
platform : linux-64
user-agent : conda/4.7.5 requests/2.22.0 CPython/3.6.6 Linux/4.15.0-50-generic ubuntu/18.04.2 glibc/2.27
UID:GID : 1000:1000
netrc file : None
offline mode : False
Кто-нибудь еще сталкивался с этой проблемой? Должен ли я удалить свой старый дистрибутив anaconda и загрузить и установить новую версию 4.7, или есть более простое исправление?
ОБНОВИТЬ
Поэтому я опубликовал этот выпуск в репо conda
на Github. Текущий выпуск, открытый против этой проблемы, упомянут ниже. По словам msarahan
здесь лежит основа проблемы и просто временное решение
https://github.com/conda/conda/issues/8842
Анаконда - это метапакет. Каждая версия состоит из набора версий, которые прошли QA вместе в виде набора. Если вы измените какую-либо версию какого-либо пакета в этой коллекции, у вас больше не будет этого метапакета, потому что вы отклонились от этого известного набора. Существует специальная версия этого метапакета, custom, которая предназначена для обработки этого ослабления ограничений. "Пользовательская" версия зависит только от конкретной версии python - она снимает ограничения для всех других пакетов.
conda 4.7 создает кандидатов на добавление в отличие от более ранних версий conda. Он начинается со спецификаций из истории и пытается ограничить возможности, чтобы ускорить решение. Когда conda находит метапакет anaconda с "пользовательской" версией, он сохраняет его, но все эти другие зависимости теперь становятся сиротами. Вот почему Конда удаляет их - у них нет истории в истории, которая говорит Конде оставить их.
Вы можете восстановить их, запустив
conda install --only-deps anaconda
. С тех пор все эти пакеты считаются частью вашей явной истории, и у вас больше не возникнет подобных проблем.