Περισσότερα
Πώς μπορώ να ενημερώσω το Anaconda;
Έχω εγκαταστήσει το Anaconda στον υπολογιστή μου και θα ήθελα να το ενημερώσω. Στο Navigator βλέπω ότι υπάρχουν πολλά μεμονωμένα πακέτα που μπορούν να ενημερωθούν, αλλά και ένα πακέτο anaconda
που μερικές φορές έχει αριθμό έκδοσης και μερικές φορές λέει custom
. Πώς μπορώ να προχωρήσω;
224
3
Αυτό που πραγματικά θέλει το 95% των ανθρώπων
Στις περισσότερες περιπτώσεις αυτό που θέλετε να κάνετε όταν λέτε ότι θέλετε να ενημερώσετε το Anaconda είναι να εκτελέσετε την εντολή:
(Αλλά θα πρέπει να προηγηθεί η εντολή
conda update -n root conda
ώστε να έχετε εγκαταστήσει την τελευταία έκδοση τουconda
)Αυτό θα ενημερώσει όλα τα πακέτα στο τρέχον περιβάλλον στην πιο πρόσφατη έκδοση -- με τα ψιλά γράμματα να είναι ότι μπορεί να χρησιμοποιήσει μια παλαιότερη έκδοση κάποιων πακέτων προκειμένου να ικανοποιήσει περιορισμούς εξαρτήσεων (συχνά αυτό δεν θα'είναι απαραίτητο και όταν είναι απαραίτητο ο επιλυτής του σχεδίου πακέτων θα κάνει ό,τι μπορεί για να ελαχιστοποιήσει τις επιπτώσεις).
Αυτό πρέπει να εκτελεστεί από τη γραμμή εντολών, και ο καλύτερος τρόπος για να φτάσετε εκεί είναι από το Anaconda Navigator, στη συνέχεια την καρτέλα "Environments", στη συνέχεια κάντε κλικ στο τρίγωνο δίπλα στο περιβάλλον
root
, επιλέγοντας "Open Terminal":Αυτή η λειτουργία θα ενημερώσει μόνο το ένα επιλεγμένο περιβάλλον (σε αυτή την περίπτωση, το περιβάλλον
root
). Αν έχετε και άλλα περιβάλλοντα που θέλετε να ενημερώσετε, μπορείτε να επαναλάβετε την παραπάνω διαδικασία, αλλά κάντε πρώτα κλικ στο περιβάλλον. Όταν είναι επιλεγμένο, υπάρχει ένας τριγωνικός δείκτης στα δεξιά (βλ. παραπάνω εικόνα, βήμα 3). Ή από τη γραμμή εντολών μπορείτε να δώσετε το όνομα του περιβάλλοντος (-n envname
) ή τη διαδρομή (-p /path/to/env
), για παράδειγμα για να ενημερώσετε το περιβάλλονdspyr
από την παραπάνω εικόνα:Ενημέρωση μεμονωμένων πακέτων
Αν ενδιαφέρεστε μόνο για την αναβάθμιση ενός μεμονωμένου πακέτου, τότε απλά κάντε κλικ στο μπλε βέλος ή στον μπλε αριθμό έκδοσης στο Navigator, π.χ. για τα πακέτα
astroid
ήastropy
στο παραπάνω στιγμιότυπο, και αυτό θα επισημάνει αυτά τα πακέτα για αναβάθμιση. Όταν τελειώσετε, πρέπει να κάνετε κλικ στο κουμπί "Apply":Ή από τη γραμμή εντολών:
Ενημέρωση μόνο των πακέτων της τυπικής διανομής του Anaconda
Αν δεν σας ενδιαφέρουν οι εκδόσεις των πακέτων και απλά θέλετε "το πιο πρόσφατο σύνολο όλων των πακέτων της τυπικής διανομής Anaconda, εφόσον λειτουργούν μαζί", τότε θα πρέπει να ρίξετε μια ματιά σε αυτό το gist.
Γιατί η ενημέρωση του πακέτου Anaconda είναι σχεδόν πάντα κακή ιδέα
Στις περισσότερες περιπτώσεις, η ενημέρωση του πακέτου Anaconda στη λίστα πακέτων θα έχει ένα εκπληκτικό αποτέλεσμα: μπορεί στην πραγματικότητα να αναβαθμίσετε πολλά πακέτα (στην πραγματικότητα, αυτό είναι πιθανό αν αναφέρει την έκδοση ως
custom
). Το παραπάνω gist παρέχει λεπτομέρειες.Αξιοποίηση των περιβαλλόντων conda
Το
root
περιβάλλον σας δεν είναι πιθανότατα ένα καλό μέρος για να προσπαθήσετε να διαχειριστείτε ένα ακριβές σύνολο πακέτων: πρόκειται να είναι ένας δυναμικός χώρος εργασίας με νέα πακέτα που εγκαθίστανται και πακέτα που ενημερώνονται τυχαία. Αν χρειάζεστε ένα ακριβές σύνολο πακέτων, τότε δημιουργήστε ένα περιβάλλον conda για να τα κρατήσετε. Χάρη στην κρυφή μνήμη πακέτων του conda και τον τρόπο με τον οποίο χρησιμοποιείται η σύνδεση αρχείων αυτό είναι συνήθως i) γρήγορο και ii) καταναλώνει πολύ λίγο επιπλέον χώρο στο δίσκο. Π.χ.Η τεκμηρίωση του conda έχει περισσότερες λεπτομέρειες και παραδείγματα.
pip, PyPI και setuptools?
Τίποτα από αυτά δεν πρόκειται να βοηθήσει στην ενημέρωση πακέτων που έχουν εγκατασταθεί από το PyPI μέσω του
pip
ή οποιωνδήποτε πακέτων που έχουν εγκατασταθεί με τη χρήση τουpython setup.py install
. Τοconda list
θα σας δώσει κάποιες συμβουλές σχετικά με τα πακέτα Python που βασίζονται στο pip και έχετε σε ένα περιβάλλον, αλλά δεν θα'κάνει τίποτα ιδιαίτερο για να τα ενημερώσει.Εμπορική χρήση του Anaconda ή του Anaconda Enterprise
Είναι σχεδόν ακριβώς η ίδια ιστορία, με την εξαίρεση ότι μπορεί να μην μπορείτε να ενημερώσετε το περιβάλλον
root
αν έχει εγκατασταθεί από κάποιον άλλο (π.χ. στο/opt/anaconda/latest
). Αν δεν μπορείτε να ενημερώσετε τα περιβάλλοντα που χρησιμοποιείτε, θα πρέπει να μπορείτε να κλωνοποιήσετε και στη συνέχεια να ενημερώσετε:Αν προσπαθείτε να ενημερώσετε την έκδοση του Anaconda σε μια νέα, θα παρατηρήσετε ότι η εκτέλεση του νέου εγκαταστάτη δεν θα λειτουργήσει, καθώς παραπονιέται ότι ο κατάλογος εγκατάστασης δεν είναι άδειος.
Έτσι, θα πρέπει να χρησιμοποιήσετε το conda για την αναβάθμιση, όπως περιγράφεται λεπτομερώς στα επίσημα έγγραφα:
ERROR conda.core.link:_execute(502): Κατά την απεγκατάσταση του πακέτου 'defaults::conda-4.5.4-py36_0' προέκυψε σφάλμα. PermissionError(13, 'Access is denied')
Ανοίξτε το "command or conda prompt" και εκτελέστε το:
Είναι καλή ιδέα να εκτελέσετε και τις δύο εντολές δύο φορές (τη μία μετά την άλλη) για να βεβαιωθείτε ότι όλα τα βασικά αρχεία έχουν ενημερωθεί.
Αυτό θα σας επαναφέρει στις τελευταίες 'releases', οι οποίες περιέχουν πακέτα που έχουν επιλεγεί από τους ανθρώπους του Continuum για να συνεργάζονται καλά μεταξύ τους.
Αν θέλετε την τελευταία έκδοση κάθε πακέτου εκτελέστε (αυτό μπορεί να οδηγήσει σε ένα ασταθές περιβάλλον):
Ελπίζω αυτό να σας βοηθήσει.
Πηγές: