Jak aktualizować program Anaconda?

Mam zainstalowaną Anacondę na moim komputerze i chciałbym ją zaktualizować. W Navigatorze widzę, że jest kilka pojedynczych pakietów, które mogą być zaktualizowane, ale także pakiet anaconda, który czasami ma numer wersji, a czasami mówi custom. Jak mam postąpić?

Czego tak naprawdę chce 95% ludzi

W większości przypadków to, co chcesz zrobić mówiąc, że chcesz zaktualizować Anacondę, to wykonać polecenie:

conda update --all

(Ale to powinno być poprzedzone przez conda update -n root conda abyś miał zainstalowaną najnowszą wersję conda)

To zaktualizuje wszystkie pakiety w bieżącym środowisku do najnowszej wersji -- z drobnym druczkiem, że może użyć starszej wersji niektórych pakietów w celu spełnienia ograniczeń zależności (często nie będzie to'konieczne, a kiedy jest to konieczne, solver planu pakietów zrobi wszystko co w jego mocy aby zminimalizować wpływ).

Musi to być wykonane z linii poleceń, a najlepszym sposobem aby się tam dostać jest Anaconda Navigator, następnie zakładka "Środowiska", następnie klikamy na trójkąt obok środowiska root, wybierając "Otwórz Terminal":

Ta operacja zaktualizuje tylko jedno wybrane środowisko (w tym przypadku środowisko root). Jeśli masz inne środowiska, które'chciałbyś zaktualizować, możesz powtórzyć powyższy proces, ale najpierw kliknij na środowisko. Gdy jest ono wybrane, po prawej stronie pojawi się trójkątny znacznik (patrz obrazek powyżej, krok 3). Lub z linii poleceń możesz podać nazwę środowiska (-n envname) lub ścieżkę (-p /path/to/env), na przykład aby zaktualizować środowisko dspyr z powyższego zrzutu ekranu:

conda update -n dspyr --all

Zaktualizuj poszczególne pakiety

Jeśli jesteś zainteresowany tylko aktualizacją pojedynczego pakietu, po prostu kliknij na niebieską strzałkę lub niebieski numer wersji w Navigatorze, np. dla astroid lub astropy na powyższym zrzucie ekranu, a to oznaczy te pakiety do aktualizacji. Kiedy skończysz, musisz kliknąć przycisk "Zastosuj":

Lub z linii poleceń:

conda update astroid astropy

Aktualizowanie tylko pakietów w standardowej dystrybucji Anacondy

Jeśli nie dbasz o wersje pakietów i po prostu chcesz "najnowszy zestaw wszystkich pakietów w standardowej dystrybucji Anacondy, tak długo jak działają razem", to powinieneś spojrzeć na ten gist.

Dlaczego aktualizowanie pakietów Anacondy jest prawie zawsze złym pomysłem

W większości przypadków aktualizacja pakietu Anacondy na liście pakietów będzie miała zaskakujący rezultat: możesz w rzeczywistości zmniejszyć wiele pakietów (w rzeczywistości jest to prawdopodobne, jeśli wskazuje wersję jako custom). Powyższy gist dostarcza szczegółów.

Wykorzystaj środowiska conda

Twoje środowisko root prawdopodobnie nie jest dobrym miejscem na próbę zarządzania dokładnym zestawem pakietów: będzie to dynamiczna przestrzeń robocza z nowymi pakietami zainstalowanymi i pakietami losowo aktualizowanymi. Jeśli potrzebujesz dokładnego zestawu pakietów, stwórz środowisko conda aby je przechowywać. Dzięki conda cache pakietów i sposobowi w jaki używane jest łączenie plików, robienie tego jest zazwyczaj i) szybkie i ii) zużywa bardzo mało dodatkowego miejsca na dysku. Np.

conda create -n myspecialenv -c bioconda -c conda-forge python=3.5 pandas beautifulsoup seaborn nltk

Dokumentacja conda zawiera więcej szczegółów i przykładów.

pip, PyPI, i setuptools?

Nic z tego nie pomoże w aktualizacji pakietów, które zostały zainstalowane z PyPI przez pip lub jakichkolwiek pakietów zainstalowanych przy użyciu python setup.py install. Lista conda da ci kilka wskazówek na temat pakietów Pythona opartych na pip, które masz w środowisku, ale nie zrobi nic specjalnego, aby je zaktualizować.

Komercyjne wykorzystanie Anaconda lub Anaconda Enterprise

Jest to prawie dokładnie ta sama historia, z wyjątkiem tego, że możesz nie być w stanie zaktualizować środowiska root jeśli zostało ono zainstalowane przez kogoś innego (powiedzmy do /opt/anaconda/latest). Jeśli nie jesteś w stanie zaktualizować środowisk, których używasz, powinieneś być w stanie sklonować je, a następnie zaktualizować:

conda create -n myenv --clone root
conda update -n myenv --all
Komentarze (9)

Jeśli próbujesz zaktualizować swoją wersję programu Anaconda do nowej, zauważysz, że uruchomienie nowego instalatora nie zadziała, ponieważ katalog instalacyjny nie jest pusty.

Powinieneś więc użyć conda do aktualizacji, jak to opisano w oficjalnych dokumentach:

conda update conda
conda update anaconda

W systemie Windows, jeśli wykonałeś instalację "dla wszystkich użytkowników", może być konieczne uruchomienie z zachęty Anaconda z uprawnieniami administratora.

Zapobiega to wystąpieniu błędu:

ERROR conda.core.link:_execute(502): Wystąpił błąd podczas odinstalowywania pakietu 'defaults::conda-4.5.4-py36_0'. PermissionError(13, 'Access is denied')

Komentarze (0)

Otwórz "command lub conda prompt" i uruchom:

conda update conda
conda update anaconda

Dobrym pomysłem jest dwukrotne uruchomienie obu poleceń (jedno po drugim), aby upewnić się, że wszystkie podstawowe pliki zostały zaktualizowane.

To powinno umieścić cię z powrotem na najnowszym 'releases', który zawiera pakiety, które są wybrane przez ludzi w Continuum, aby dobrze ze sobą współpracować.

Jeśli chcesz ostatnią wersję każdego pakietu uruchom (może to prowadzić do niestabilnego środowiska):

conda update --all 

Mam nadzieję, że to pomoże.

Źródła:

Komentarze (4)