В повечето случаи това, което искате да направите, когато казвате, че искате да актуализирате Anaconda, е да изпълните командата:
conda update --all
(Но тя трябва да бъде предхождана от conda update -n root conda
, така че да имате инсталирана последната версия на conda
)
Това ще актуализира всички пакети в текущата среда до най-новата версия -- с малката забележка, че може да се използва по-стара версия на някои пакети, за да се удовлетворят ограниченията на зависимостите (често това няма да е необходимо, а когато е необходимо, решаващият план на пакетите ще направи всичко възможно, за да сведе до минимум въздействието).
Това трябва да се изпълни от командния ред, а най-добрият начин да стигнете до него е от Навигатора на Анаконда, след това от раздела "Околни среди", след това щракнете върху триъгълника до средата root
, като изберете "Open Terminal":
Тази операция ще актуализира само една избрана среда (в този случай средата корен
). Ако имате други среди, които искате да актуализирате, можете да повторите горния процес, но първо щракнете върху средата. Когато тя е избрана, вдясно се появява триъгълен маркер (вж. изображението по-горе, стъпка 3). Или от командния ред можете да зададете името на средата (-n envname
) или пътя (-p /path/to/env
), например за да актуализирате средата dspyr
от горната снимка:
conda update -n dspyr --all
Ако се интересувате само от актуализиране на отделен пакет, просто кликнете върху синята стрелка или синия номер на версията в Навигатора, например за astroid
или astropy
на горната снимка, и това ще маркира тези пакети за актуализиране. Когато приключите, трябва да щракнете върху бутона "Приложи":
Или от командния ред:
conda update astroid astropy
Ако не се интересувате от версиите на пакетите и просто искате "най-новия набор от всички пакети в стандартната дистрибуция на Anaconda, стига те да работят заедно", тогава трябва да разгледате този gist.
В повечето случаи актуализирането на пакета Anaconda в списъка с пакети ще доведе до изненадващ резултат: всъщност може да понижите нивото на много пакети (всъщност това е вероятно, ако версията е посочена като custom
). Горният gist предоставя подробности.
Вашата среда root
вероятно не е добро място, където да се опитвате да управлявате точен набор от пакети: тя ще бъде динамично работно пространство с инсталирани нови пакети и случайно актуализирани пакети. Ако се нуждаете от точен набор от пакети, създайте среда conda, която да ги съхранява. Благодарение на кеша за пакети на conda и начина, по който се използва свързването на файлове, това обикновено е i) бързо и ii) отнема много малко допълнително дисково пространство. Напр.
conda create -n myspecialenv -c bioconda -c conda-forge python=3.5 pandas beautifulsoup seaborn nltk
В документацията на conda има повече подробности и примери.
Нищо от това няма да помогне за актуализиране на пакети, които са били инсталирани от PyPI чрез pip
, или на пакети, инсталирани с помощта на python setup.py install
. conda list
ще ви даде някои подсказки за пакетите Python, базирани на pip, които имате в средата, но няма да направи нищо специално за тяхното актуализиране.
Това е почти същата история, с изключение на това, че може да не успеете да актуализирате средата root
, ако тя е била инсталирана от някой друг (да речем в /opt/anaconda/latest
). Ако не можете да актуализирате средата, която използвате, би трябвало да можете да я клонирате и след това да я актуализирате:
conda create -n myenv --clone root
conda update -n myenv --all
Ако се опитвате да актуализирате версията на Anaconda до нова, ще забележите, че стартирането на новия инсталатор няма да се получи, тъй като той се оплаква, че инсталационната директория не е празна.
Затова трябва да използвате conda за обновяване, както е описано в официалните документи:
conda update conda
conda update anaconda
Това предотвратява грешката:
ERROR conda.core.link:_execute(502): При деинсталирането на пакета 'defaults::conda-4.5.4-py36_0' възникна грешка. PermissionError(13, 'Access is denied')
Отворете "command или conda prompt" и стартирайте:
conda update conda
conda update anaconda
Добре е да изпълните двете команди два пъти (една след друга), за да сте сигурни, че всички основни файлове са актуализирани.
Това би трябвало да ви върне към най-новите 'версии', които съдържат пакети, подбрани от хората в Continuum, за да работят добре заедно.
Ако искате да стартирате последната версия на всеки пакет (това може да доведе до нестабилна среда):
conda update --all
Надявам се това да помогне.
Източници: