Zbiorcze aktualizacje pakietów za pomocą Conda

216

Czy istnieje sposób (za pomocą aktualizacji Conda), aby wyświetlić listę nieaktualnych pakietów i wybrać lub zbiorczo zaktualizować (kompatybilne) pakiety w Anaconda?

Aktualizowanie pakietów indywidualnie nie ma sensu, ponieważ są ich setki.

Afloz
źródło

Odpowiedzi:

355

Chcesz conda update --all.

conda search --outdatedpokaże nieaktualne pakiety i conda update --allje zaktualizuje (zwróć uwagę, że ten drugi nie zaktualizuje cię z Python 2 do Python 3, ale pierwszy pokaże Python jako przestarzały, jeśli używasz Python 2).

asmeurer
źródło
Dziękuję za odpowiedź. Używam Pythona 2. Czy można filtrować nieaktualne dla konkretnej zainstalowanej wersji (py27_0)? czy conda update allaktualizacje tylko kompatybilna wersja dla mojego środowiska py27?
Afloz
Tak, conda update --allzainstaluje tylko pakiety, które są ze sobą kompatybilne i nie zaktualizuje cię z Python 2 do Python 3.
asmeurer
8
conda search --outdatedpokazuje wszystkie dostępne wersje każdego zainstalowanego ORAZ nieaktualnego pakietu, który w wielu przypadkach jest trochę za dużo ,,, Osobiście wolę używać conda update --all, pokazuje, co będzie instalowane i monituje o potwierdzenie: odpowiadasz Ni masz kompaktowy lista nieaktualnych pakietów.
gboffi
4
conda update --allróżni się również conda search --outdatedtym, że działa przez solver, co oznacza, że ​​niektóre pakiety z nowszymi wersjami mogą nie zostać zaktualizowane, jeśli inne pakiety mają ograniczenia zależności (lub, na przykład, conda update --allnie zaktualizują się z Python 2.7 do Python 3.4).
asmeurer
1
Właśnie znalazłem tego bloga, na którym autor Jake VanderPlas podaje wyjaśnienia terminów dotyczące Anakondy i conda. Odpowiadał na wiele moich pytań.
Celdor
15

Zanim przejdziesz do conda update --allkomend, najpierw zaktualizuj conda za pomocą conda update condakomendy, jeśli nie aktualizowałeś jej przez długi czas. Zdarzyło mi się to (Python 2.7.13 na 64 bitach Anaconda).

thanvaf
źródło
Masz na myśli 64-bit?
akarthik10,
1
Przynajmniej prawdopodobnie miałby większy sens jako komentarz niż jako odpowiedź.
Chill2Macht
2
„Zdarzyło mi się”, co się stało?
gerrit
0
# list packages that can be updated
conda search --outdated

# update all packages prompted(by asking the user yes/no)
conda update --all

# update all packages unprompted
conda update --all -y
Naveen Kumar
źródło