Jak zaktualizować Anaconda?

259

Mam Anacondę zainstalowaną na moim komputerze i chcę ją zaktualizować. W Navigator widzę, że istnieje kilka pojedynczych pakietów, które można aktualizować, ale także anacondapakiet, który czasem ma numer wersji, a czasem mówi custom. Jak postępować?

wprowadź opis zdjęcia tutaj

IanSR
źródło
1
Większość odpowiedzi sugeruje conda update [-n root] -v anaconda, ale oferuje DOWNGRADE mój python: 3.7.0-hc167b69_0 --> 3.6.6-hc167b69_0. Wydaje się bardzo zepsuty.
smci

Odpowiedzi:

417

Czego tak naprawdę chce 95% ludzi

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

conda update --all

(Ale powinno to być poprzedzone przez, conda update -n root condaaby mieć condazainstalowaną najnowszą wersję)

Spowoduje to zaktualizowanie wszystkich pakietów w bieżącym środowisku do najnowszej wersji - z małym drukiem, że może używać starszej wersji niektórych pakietów w celu spełnienia ograniczeń zależności (często nie będzie to konieczne, a gdy jest to konieczne, solver planu pakietów dołoży wszelkich starań, aby zminimalizować wpływ).

Należy to wykonać z wiersza poleceń, a najlepszym sposobem na to jest Anaconda Navigator, następnie zakładka „Środowiska”, a następnie kliknij trójkąt obok rootśrodowiska, wybierając „Otwórz terminal”:

Otwórz terminal z Nawigatora

Ta operacja spowoduje aktualizację tylko jednego wybranego środowiska (w tym przypadku rootśrodowiska). Jeśli masz inne środowiska, które chcesz zaktualizować, możesz powtórzyć powyższy proces, ale najpierw kliknij środowisko. Po wybraniu po prawej stronie znajduje się trójkątny znacznik (patrz zdjęcie powyżej, krok 3). Lub z wiersza poleceń możesz podać nazwę środowiska ( -n envname) lub path ( -p /path/to/env), na przykład, aby zaktualizować swoje dspyrśrodowisko 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 niebieską strzałkę lub niebieski numer wersji w Nawigatorze, np. Dla astroidlub astropyna zrzucie ekranu powyżej, a to oznaczy te pakiety do aktualizacji. Po zakończeniu kliknij przycisk „Zastosuj”:

Zastosuj, aby zaktualizować poszczególne pakiety

Lub z wiersza poleceń:

conda update astroid astropy

Aktualizacja tylko pakietów w standardowej dystrybucji Anaconda

Jeśli nie zależy ci na wersjach pakietów i chcesz po prostu „najnowszego zestawu wszystkich pakietów w standardowej dystrybucji Anaconda, o ile działają one razem” , powinieneś rzucić okiem na tę istotę .

Dlaczego aktualizacja pakietu Anaconda jest prawie zawsze złym pomysłem

W większości przypadków aktualizacja pakietu Anaconda na liście pakietów przyniesie zaskakujący wynik: możesz faktycznie obniżyć wersję wielu pakietów (w rzeczywistości jest to prawdopodobne, jeśli wskazuje wersję jako custom). Powyższa treść zawiera szczegółowe informacje.

Wykorzystaj środowiska conda

Twoje rootśrodowisko prawdopodobnie nie jest dobrym miejscem do wypróbowania i zarządzania dokładnym zestawem pakietów: będzie dynamiczną przestrzenią roboczą z nowymi pakietami i losowymi aktualizacjami pakietów. Jeśli potrzebujesz dokładnego zestawu pakietów, stwórz środowisko conda do ich przechowywania. Dzięki pamięci podręcznej pakietów conda i sposobowi łączenia plików jest to zwykle i) szybkie i ii) zajmuje bardzo mało dodatkowego miejsca na dysku. Na przykład

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 za pośrednictwem piplub jakichkolwiek pakietów zainstalowanych przy użyciu python setup.py install. conda listda ci kilka wskazówek na temat pakietów Pythona opartych na pipach, które masz w środowisku, ale nie zrobi nic specjalnego, aby je zaktualizować.

Komercyjne wykorzystanie Anaconda lub Anaconda Enterprise

To właściwie dokładnie ta sama historia, z tym wyjątkiem, że możesz nie być w stanie zaktualizować rootśrodowiska, jeśli zostało zainstalowane przez kogoś innego (powiedzmy to /opt/anaconda/latest). Jeśli nie możesz zaktualizować używanych środowisk, powinieneś być w stanie sklonować, a następnie zaktualizować:

conda create -n myenv --clone root
conda update -n myenv --all
IanSR
źródło
10
Nadal będę korzystać z conda update anacondaprzyszłych aktualizacji. Właśnie to zrobiłem conda update --alli nie mogłem uruchomić Navigatora z tego powodu, PySide ModuleNotFoundErrorktórego po prostu nie mogłem rozwiązać. Nawet po obniżeniu oceny. Musiałem więc ponownie zainstalować Anacondę i ponownie skonfigurować środowisko. I to drugi raz, kiedy mi się to zdarza, podczas gdy nigdy nie miałem problemów conda update anaconda. Nawet jeśli oznacza to, że moje pakiety nie są bardzo aktualne (dystrybucja wciąż jest dość często aktualizowana: docs.anaconda.com/anaconda/release-notes ) Wolę mieć stabilny system
MattSchmatt
4
@MattSchmatt upewnij się, że ty conda update condarównież. Conda ewoluowała znacznie w ciągu ostatniego roku, a w szczególności pod koniec września 2017 roku wprowadziliśmy wiele ulepszeń. Jeśli conda update --allpsuje rzeczy (co historycznie było prawie pewne), jest to błąd, który należy zgłosić do trackera problemów conda GitHub - dziś ta operacja nie powinna zepsuć żadnych istniejących komponentów (z zastrzeżeniem, że conda musi być do data).
IanSR
7
Musiałem zrobić conda update -n root condazamiast tego, co wspomniano powyżej, aby to zadziałało.
Lucas
9
conda update --allNie jest to co 95% ludności chcą. Może to prowadzić do niestabilnego środowiska. Odpowiedź użytkownika3030882 jest bezpieczniejsza.
gagarine
3
conda update --allnie powiodło się z powodu błędu „odmowa uprawnień”. Uruchomiłem go z uprawnieniami administratora. Aby uruchomić z uprawnieniami administratora: Start> Anaconda3> Anaconda Monit> Kliknij prawym przyciskiem myszy> Więcej> Uruchom jako administrator.
BabarBaig,
100

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

Więc powinieneś użyć conda do aktualizacji, jak 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 wiersza polecenia Anaconda z uprawnieniami administratora.

Wystarczy kliknąć Anaconda Prompt prawym przyciskiem myszy w menu Start

Zapobiega to błędowi:

BŁĄD conda.core.link:_execute(502): Wystąpił błąd podczas odinstalowywania pakietu „defaults :: conda-4.5.4-py36_0”. PermissionError (13, „Odmowa dostępu”)

Cardin Lee JH
źródło
46

Otwórz „wiersz polecenia lub Conda” i uruchom:

conda update conda
conda update anaconda

Warto uruchomić oba polecenia dwa razy (jeden po drugim), aby mieć pewność, że wszystkie podstawowe pliki zostaną zaktualizowane.

To powinno sprawić, że powrócisz do najnowszych „wydań”, które zawierają pakiety wybrane przez osoby w Continuum, aby dobrze ze sobą współpracowały.

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

conda update --all 

Mam nadzieję że to pomoże.

Źródła:

H.Latte
źródło
10
Jeśli wolisz stabilne środowisko niż najnowszą wersję każdego pakietu, pomiń krok 4. conda update anacondapowróć do jednej z „wydań”, która zawiera pakiety wybrane przez ludzi w Continuum, aby dobrze ze sobą współpracowały.
rudolfbyker
Dziękuję Rudolfbyker. Zredagowałem odpowiedź, aby odzwierciedlić twój komentarz.
H.Latte
Jeśli pojawi się błąd, że pakiet nie został zainstalowany, spróbuj conda install anaconda.
Shital Shah
Aktualizuję conda, a następnie wszystkie moje pakiety przestały działać .... Nie wiem dlaczego, ale wydaje mi się, że twoje rozwiązanie nie jest dobrym pomysłem, ponieważ conda nie jest stabilna przy użyciu tej aktualizacji ... oto sposób na wdrożenie powrót
Travis,
6

Jeśli masz problemy z uzyskaniem np. Z 3.3.x do 4.x (aktualizacja conda conda „nie działa”, aby przejść do następnej wersji), spróbuj użyć bardziej szczegółowych, takich jak:

conda install conda=4.0 (or conda install anaconda=4.0)

https://www.anaconda.com/blog/developer-blog/anaconda-4-release/

Powinieneś wiedzieć, co robisz, ponieważ conda może się zepsuć z powodu wymuszonej instalacji. Jeśli chcesz uzyskać większą elastyczność / bezpieczeństwo, możesz użyć pkg-manager jak nix (-pkgs) [with nix-shell] / NixOS.

InLaw
źródło
Być może, ale czy nie uznałbyś tego za całkowicie zepsuty, jako kludge?
smci
„Ciągłość” wersji jest standardem np. W rozwoju (WWW). Jak zawsze, jeśli chcesz wszystko wyrównać i ponownie ocenić, powinieneś przebudować wszystko za pomocą zaktualizowanych wersji. Zasadniczo „aktualizacja Conda - wszystko” z aktualizacjami ../conda/../pinty plik powinien również działać poprawnie (! Zadbaj o dodatkowe instalacje pip!).
InLaw
2
Kiedy musimy ręcznie powiedzieć aktualizatorowi, do jakiej konkretnej wersji zaktualizować, to nie jest to już aktualizator, tylko zepsuty instalator z ładnym GUI. Ogólnie conda update --allwszystko psuje, jak mówią ich własne FAQ, aw moim przypadku wesoło oferuje obniżenie wersji mojego pytona z 3.7.0 do 3.6.6 (chociaż wie, że 3.7.1 jest dostępny)
smci
Takie jest twoje zdanie na temat instalatora, ale jest to STANDARD w IT (z jakiegoś powodu). Znowu zależy to zwłaszcza od twojego przypiętego pliku ORAZ jeśli zainstalowałeś pkgs również przez PIP! Jeśli chodzi o twój przypadek: jeśli masz pakiety pkg, które nie są dostępne lub są zgodne z Pythonem 3.7.x NIŻ, otrzyma wersję Python z optymalnym dopasowaniem do ograniczeń wszystkich pakietów w twojej środowisku. To jest powód, dla którego istnieje „conda”.
InLaw
Jaki jest powód korzystania z conda (jeśli nie do sprawdzania integralności / obniżenia poziomu, na który narzekasz)?
InLaw
6

Oto, co zaleca oficjalna dokumentacja Anaconda :

conda update conda 
conda update anaconda=2020.02

Jeśli druga linia zgłasza błąd (literówka w dokumentacji?), Działało to tutaj:

conda install anaconda=2020.02

(wszystkie specyfikatory wersji można znaleźć tutaj )

Polecenie zostanie zaktualizowane do określonej wersji meta-pakietu Anaconda.

To jest imho, czego chce 95% użytkowników Anaconda. Po prostu aktualizacja do najnowszej wersji meta-pakietu Anaconda (złożonego i przetestowanego przez dystrybutorów Anaconda) i nie dbanie o status aktualizacji poszczególnych pakietów (które zostaną wydane conda update --all).

MattSchmatt
źródło
@Arrow_Raider Odnosząc się do conda update ...literówki? Zgoda.
MattSchmatt
5

Oto najlepsza praktyka (z mojego skromnego doświadczenia). Wybranie tych czterech pakietów spowoduje również zaktualizowanie wszystkich innych zależności do odpowiednich wersji, co pomoże zachować spójność środowiska. To drugie jest częstym problemem, który inni wyrazili we wcześniejszych odpowiedziach. To rozwiązanie nie wymaga terminala.

Aktualizacja i aktualizacja najlepszych praktyk Anaconda3 lub Anaconda2

Pełna tablica
źródło
Dziękuję, pomogłeś mi!
Ilan Aizelman WS
3

Otwórz Anaconda cmd w trybie podstawowym:

Następnie użyj conda update conda, aby zaktualizować Anacondę

Następnie możesz użyć aktualizacji conda - all, aby zaktualizować wszystkie wymagania dotyczące Anacondy

conda update conda  
conda update --all  
farshad
źródło
2

Na komputerze Mac otwórz terminal i uruchom następujące 2 polecenia.

conda update conda
conda update anaconda

pamiętaj, aby uruchomić każde polecenie wiele razy, aby zaktualizować do bieżącej wersji.

Ajay Sant
źródło
7
wiele razy? nie ma sensu tego robić.
Deepak,
2
Z mojego doświadczenia wynika, że ​​jeśli uruchomisz polecenia, gdy nie zostaną zaktualizowane do najnowszych wersji pakietów Pythona. Sugeruję więc uruchomienie go wiele razy.
Ajay Sant
To jest duplikat innej odpowiedzi tutaj na tej samej stronie: stackoverflow.com/a/46842054/109618
David J.
2

Korzystam z systemu Windows 10. Poniższe aktualizacje aktualizują wszystko, a także instalują nowe pakiety, w tym aktualizację Pythona (dla mnie było to 3.7.3).

W powłoce spróbuj wykonać następujące czynności (pamiętaj, aby zmienić miejsce instalacji danych Anaconda3). Aktualizacja zajmuje trochę czasu.

conda update --prefix X:\XXXXData\Anaconda3 anaconda
D Jacobson
źródło
1

Aby zaktualizować zainstalowaną wersję do najnowszej wersji, powiedzmy 2019.07, uruchom

conda install anaconda=2019.07

W większości przypadków ta metoda może zaspokoić Twoje potrzeby i uniknąć problemów z zależnością

QaraQoyunlu
źródło
0
conda create -n py37 -c anaconda anaconda=5.3.1
conda env export -n py37 --file env.yaml

zlokalizuj env.yaml w C: \ Windows \ System32 i uruchom cmd jako administrator

conda env update -n root -f env.yaml  

to działa!

leeningzzu
źródło
-6

Może to zaktualizować tylko Python:

conda update python
eric xu
źródło