ฉันจะอัปเดต Anaconda ได้อย่างไร


259

ฉันติดตั้ง Anaconda บนคอมพิวเตอร์ของฉันแล้วและต้องการอัปเดต ในนาวิเกเตอร์ที่ฉันจะเห็นว่ามีหลายแพคเกจแต่ละที่สามารถปรับปรุง แต่ยังมีแพคเกจที่บางครั้งมีจำนวนรุ่นและบางครั้งก็พูดว่าanaconda customฉันจะดำเนินการอย่างไร

ป้อนคำอธิบายรูปภาพที่นี่


1
คำตอบส่วนใหญ่แนะนำแต่ก็มีการปรับลดรุ่นของฉันconda update [-n root] -v anaconda python: 3.7.0-hc167b69_0 --> 3.6.6-hc167b69_0ดูเหมือนว่าจะหักมาก
smci

คำตอบ:


417

คน 95% ต้องการอะไร

ในกรณีส่วนใหญ่สิ่งที่คุณต้องการทำเมื่อคุณบอกว่าคุณต้องการอัปเดต Anaconda คือการใช้คำสั่ง:

conda update --all

(แต่สิ่งนี้ควรนำหน้าด้วยconda update -n root condaเพื่อให้คุณcondaติดตั้งเวอร์ชันล่าสุด)

สิ่งนี้จะอัพเดตแพ็คเกจทั้งหมดในสภาพแวดล้อมปัจจุบันเป็นเวอร์ชั่นล่าสุด - ด้วยการพิมพ์ขนาดเล็กซึ่งอาจใช้แพ็คเกจรุ่นเก่ากว่าเพื่อตอบสนองข้อ จำกัด ในการพึ่งพา (มักจะไม่จำเป็นและเมื่อจำเป็น ตัวแก้แผนแพ็คเกจจะทำอย่างดีที่สุดเพื่อลดผลกระทบ)

สิ่งนี้จะต้องดำเนินการจากบรรทัดคำสั่งและวิธีที่ดีที่สุดในการเดินทางมาจาก Anaconda Navigator จากนั้นไปที่แท็บ "สภาพแวดล้อม" จากนั้นคลิกที่สามเหลี่ยมข้างๆrootสภาพแวดล้อมเลือก "Open Terminal":

เปิดเทอร์มินัลจากนาวิเกเตอร์

การดำเนินการนี้จะอัปเดตเฉพาะสภาพแวดล้อมที่เลือกไว้ (ในกรณีนี้คือrootสภาพแวดล้อม) หากคุณมีสภาพแวดล้อมอื่น ๆ ที่คุณต้องการอัปเดตคุณสามารถทำซ้ำขั้นตอนข้างต้นได้ แต่คลิกที่สภาพแวดล้อมก่อน เมื่อเลือกแล้วจะมีเครื่องหมายสามเหลี่ยมอยู่ทางด้านขวา (ดูภาพด้านบนขั้นตอนที่ 3) หรือจากบรรทัดคำสั่งคุณสามารถระบุชื่อสภาพแวดล้อม ( -n envname) หรือเส้นทาง ( -p /path/to/env) เช่นเพื่ออัปเดตdspyrสภาพแวดล้อมของคุณจากภาพหน้าจอด้านบน:

conda update -n dspyr --all

อัพเดตแต่ละแพ็กเกจ

หากคุณสนใจที่จะอัปเดตแต่ละแพ็คเกจเพียงคลิกที่ลูกศรสีน้ำเงินหรือหมายเลขเวอร์ชันสีน้ำเงินใน Navigator เช่นสำหรับastroidหรือastropyในภาพหน้าจอด้านบนและนี่จะติดแท็กแพ็คเกจเหล่านั้นเพื่ออัปเกรด เมื่อเสร็จแล้วคุณต้องคลิกปุ่ม "สมัคร":

ใช้เพื่ออัปเดตแพคเกจของแต่ละบุคคล

หรือจากบรรทัดคำสั่ง:

conda update astroid astropy

การอัปเดตเฉพาะแพ็คเกจในการแจกจ่าย Anaconda มาตรฐาน

หากคุณไม่สนใจเกี่ยวกับรุ่นของแพ็คเกจและเพียงแค่ต้องการ"ชุดล่าสุดของแพ็คเกจทั้งหมดในการแจกจ่าย Anaconda มาตรฐานตราบใดที่พวกเขาทำงานร่วมกัน"คุณควรดูที่ส่วนสำคัญนี้

ทำไมการอัพเดทแพ็คเกจ Anaconda จึงเป็นความคิดที่ไม่ดี

ในกรณีส่วนใหญ่การอัปเดตแพคเกจ Anaconda ในรายการแพคเกจจะมีผลลัพธ์ที่น่าประหลาดใจ: คุณอาจลดระดับแพ็คเกจจำนวนมาก (อันที่จริงมีแนวโน้มว่าจะเป็นเวอร์ชั่นที่customระบุ สรุปสาระสำคัญข้างต้นให้รายละเอียด

ใช้ประโยชน์จากสภาพแวดล้อมของ conda

rootสภาพแวดล้อมของคุณอาจไม่ใช่สถานที่ที่ดีที่จะลองและจัดการชุดแพคเกจที่แน่นอน: มันจะเป็นพื้นที่ทำงานแบบไดนามิกที่ติดตั้งแพคเกจใหม่และแพคเกจใหม่แบบสุ่ม หากคุณต้องการชุดของแพคเกจที่แน่นอนแล้วสร้างสภาพแวดล้อม conda เพื่อเก็บไว้ ขอบคุณแคชแพคเกจ conda และวิธีการเชื่อมโยงไฟล์ที่ใช้ในการทำเช่นนี้คือ i) เร็วและ ii) ใช้พื้นที่ดิสก์เพิ่มเติมน้อยมาก เช่น

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

เอกสาร CONDAมีรายละเอียดเพิ่มเติมและตัวอย่าง

pip, PyPI และ setuptools?

เรื่องนี้ไม่เป็นไปเพื่อความช่วยเหลือเกี่ยวกับการอัปเดตแพคเกจที่ได้รับการติดตั้งจาก PyPI ผ่านpipหรือแพคเกจใด ๆ python setup.py installที่ติดตั้งโดยใช้ conda listจะให้คำแนะนำบางอย่างเกี่ยวกับแพ็คเกจ Python ที่อิงกับ pip ที่คุณมีในสภาพแวดล้อม แต่จะไม่ทำอะไรเป็นพิเศษเพื่ออัปเดต

ใช้ในเชิงพาณิชย์ของ Anaconda หรือ Anaconda Enterprise

เป็นเรื่องเดียวกันโดยมีข้อยกเว้นว่าคุณอาจไม่สามารถอัปเดตrootสภาพแวดล้อมได้หากมีบุคคลอื่น (พูดกับ/opt/anaconda/latest) ติดตั้ง หากคุณไม่สามารถอัปเดตสภาพแวดล้อมที่คุณใช้งานอยู่คุณควรจะโคลนและอัปเดต:

conda create -n myenv --clone root
conda update -n myenv --all

10
ฉันจะไปกับconda update anacondaการอัปเดตในอนาคต เพิ่งทำconda update --allและไม่สามารถเริ่มต้น Navigator หลังจากนั้นเพราะสิ่งPySide ModuleNotFoundErrorที่ฉันไม่สามารถแก้ไขได้ แม้หลังจากปรับลดรุ่นแล้ว ดังนั้นฉันต้องติดตั้ง Anaconda อีกครั้งและตั้งค่าสภาพแวดล้อมของฉันอีกครั้ง และ thats ครั้งที่ 2 conda update anacondaนี้เกิดขึ้นกับผมในขณะที่ผมไม่เคยมีปัญหากับ แม้ว่านั่นหมายความว่าแพคเกจของฉันไม่ทันสมัยมาก (การกระจายยังคงได้รับการปรับปรุงค่อนข้างบ่อย: docs.anaconda.com/anaconda/release-notes ) ฉันชอบที่จะมีระบบที่เสถียร
MattSchmatt

4
@MattSchmatt ให้แน่ใจว่าคุณทำconda update condaเช่นกัน Conda มีการพัฒนาอย่างมีนัยสำคัญในปีที่ผ่านมาและโดยเฉพาะอย่างยิ่งเรามีการเปิดตัวในช่วงปลายเดือนกันยายน 2017 ที่แนะนำการปรับปรุงจำนวนมาก หากconda update --allแบ่งสิ่งต่าง ๆ (ซึ่งในอดีตมันเกือบจะแน่ใจแล้ว) นี่เป็นข้อผิดพลาดที่คุณควรรายงานไปยังตัวติดตามปัญหาของ conda GitHub - วันนี้การดำเนินการไม่ควรทำลายส่วนประกอบที่มีอยู่ใด ๆ (ด้วยเงื่อนไข condiso ต้องขึ้นอยู่กับ วันที่)
IanSR

7
ฉันต้องทำconda update -n root condaแทนสิ่งที่กล่าวถึงข้างต้นเพื่อให้มันใช้งานได้
ลูคัส

9
conda update --allไม่ได้เป็นสิ่ง 95% ของประชาชนที่ต้องการ มันสามารถนำไปสู่สภาพแวดล้อมที่ไม่เสถียร คำตอบโดย user3056882 นั้นปลอดภัยกว่า
กาการีน

3
conda update --allล้มเหลวสำหรับฉันด้วยข้อผิดพลาด 'สิทธิ์ถูกปฏิเสธ' รันด้วยสิทธิ์ผู้ดูแลระบบสำเร็จ ในการรันด้วยสิทธิ์ผู้ดูแลระบบ: เริ่ม> Anaconda3> พรอมต์ Anaconda> คลิกขวา> More> Run As Administrator
BabarBaig

100

หากคุณพยายามอัปเดตเวอร์ชัน Anaconda ของคุณเป็นเวอร์ชั่นใหม่คุณจะสังเกตเห็นว่าการเรียกใช้ตัวติดตั้งใหม่จะไม่ทำงานเนื่องจากบ่นว่าไดเรกทอรีการติดตั้งนั้นไม่ว่างเปล่า

ดังนั้นคุณควรใช้ conda เพื่ออัปเกรดตามรายละเอียดโดยเอกสารอย่างเป็นทางการ :

conda update conda
conda update anaconda


ใน Windows หากคุณทำการติดตั้ง "สำหรับผู้ใช้ทั้งหมด" อาจจำเป็นต้องเรียกใช้จากพรอมต์ Anaconda ด้วยสิทธิ์ผู้ดูแลระบบ

เพียงคลิกขวาที่ Anaconda Prompt ในเมนูเริ่มต้น

สิ่งนี้ป้องกันข้อผิดพลาด:

ข้อผิดพลาด conda.core.link:_execute(502): เกิดข้อผิดพลาดขณะถอนการติดตั้งแพคเกจ 'ค่าเริ่มต้น :: conda-4.5.4-py36_0' PermissionError (13, 'การเข้าถึงถูกปฏิเสธ')


46

เปิด "command หรือ conda prompt" และเรียกใช้:

conda update conda
conda update anaconda

เป็นความคิดที่ดีที่จะเรียกใช้คำสั่งทั้งสองครั้ง (หลังจากนั้นอีกครั้ง) เพื่อให้แน่ใจว่าไฟล์พื้นฐานทั้งหมดได้รับการอัพเดต

สิ่งนี้จะนำคุณกลับสู่ 'การเผยแพร่ล่าสุด' ซึ่งมีแพ็คเกจที่ผู้คนใน Continuum เลือกไว้เพื่อทำงานร่วมกันได้ดี

หากคุณต้องการให้รุ่นล่าสุดของแต่ละแพ็คเกจทำงาน (ซึ่งอาจนำไปสู่สภาพแวดล้อมที่ไม่เสถียร ):

conda update --all 

หวังว่านี่จะช่วยได้

แหล่งที่มา:


10
หากคุณต้องการสภาพแวดล้อมที่มีความเสถียรมากกว่าการมีแพ็คเกจล่าสุดทุกรุ่นให้ข้ามขั้นตอนที่ 4 conda update anacondaควรนำคุณกลับสู่ 'การเผยแพร่' หนึ่งในนั้นซึ่งมีแพ็คเกจที่ผู้คนใน Continuum เลือกให้ทำงานร่วมกันได้ดี
rudolfbyker

ขอบคุณ rudolfbyker ฉันได้แก้ไขคำตอบเพื่อแสดงความคิดเห็นของคุณแล้ว
H.Latte

conda install anacondaถ้าคุณได้รับแพคเกจไม่ได้ติดตั้งลองข้อผิดพลาด
Shital Shah

ฉันอัปเดต conda แล้วแพ็คเกจทั้งหมดของฉันหยุดทำงาน .... ฉันไม่รู้ว่าทำไม แต่คิดว่าโซลูชันของคุณไม่ใช่ความคิดที่ดี cuz conda ไม่เสถียรโดยใช้วิธีนี้ในการอัปเกรด .... นี่เป็นวิธีการกลิ้ง ย้อนกลับ
เทรวิส

6

หากคุณมีปัญหาในการรับเช่น 3.3.x ถึง 4.x (conda update conda "ใช้งานไม่ได้" เพื่อไปยังรุ่นถัดไป) กว่าลองใช้วิธีที่เฉพาะเจาะจงมากขึ้นเช่น:

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

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

คุณควรรู้ว่าคุณทำอะไรเพราะคอนดออาจแตกได้เนื่องจากการติดตั้งแบบบังคับ หากคุณต้องการความยืดหยุ่น / ความปลอดภัยที่มากขึ้นคุณสามารถใช้ pkg-manager เช่น nix (-pkgs) [กับ nix-shell] / NixOS


บางที แต่คุณจะไม่คิดว่ามันหักอย่างที่สุด
smci

รุ่น "ความต่อเนื่อง" เป็นมาตรฐานเช่นในการพัฒนา (เว็บ) เช่นเคยหากคุณต้องการให้ทุกคนคิดและกำหนดอีกครั้งคุณควรสร้างใหม่ทั้งหมดด้วยรุ่นที่อัปเดต โดยทั่วไปแล้ว "conda update --all" พร้อมกับการอัปเดต ../conda/../pinned ไฟล์ควรทำงานอย่างเหมาะสมเช่นกัน (! ดูแลการติดตั้ง pip เพิ่มเติม!)
กฎหมาย

2
เมื่อเราต้องบอกตัวอัปเดตด้วยตนเองว่าต้องอัปเดตเป็นเวอร์ชันใดโดยเฉพาะจึงไม่ใช่ตัวอัปเดตอีกต่อไปเพียงตัวติดตั้งที่เสียด้วย GUI ที่น่ารัก โดยทั่วไปconda update --allแบ่งทุกอย่างเช่นคำถามที่พบบ่อยของตัวเองกล่าวและในกรณีของฉันมันเริงร่าข้อเสนอที่จะปรับลดหลามของฉันจาก 3.7.0 ไป 3.6.6 (แม้ว่ามันรู้ 3.7.1 สามารถใช้ได้)
smci

นั่นเป็นความคิดเห็นของคุณเกี่ยวกับตัวติดตั้ง แต่เป็นมาตรฐานในไอที (ด้วยเหตุผลบางอย่างที่อยู่เบื้องหลัง) อีกครั้งมันขึ้นอยู่กับไฟล์ของคุณและถ้าคุณติดตั้ง pkgs ด้วย PIP! เกี่ยวกับกรณีของคุณ: หากคุณมี pkgs ซึ่งไม่สามารถใช้งานได้หรือรองรับ python 3.7.x กว่านั้นจะได้รับเวอร์ชัน Python ที่เหมาะสมที่สุดกับข้อ จำกัด ของ pkgs ทั้งหมดใน env ของคุณ นั่นคือเหตุผลที่มี "conda"
กฎหมาย

อะไรคือเหตุผลของคุณในการใช้ conda (หากไม่ใช่สำหรับการตรวจสอบความสมบูรณ์ / การดาวน์เกรดที่คุณกำลังบ่น)
กฎหมาย

6

นี่คือสิ่งที่เอกสารทางการของ Anacondaแนะนำ:

conda update conda 
conda update anaconda=2020.02

หากบรรทัดที่สองมีข้อผิดพลาด (พิมพ์ผิดในเอกสารหรือไม่) สิ่งนี้ใช้ได้ที่นี่:

conda install anaconda=2020.02

(คุณสามารถค้นหาตัวระบุเวอร์ชันทั้งหมดได้ที่นี่ )

คำสั่งจะอัปเดตเป็นรุ่นเฉพาะของอนาคอนดาเมตาแพ็คเกจ

นี่คือสิ่งที่ 95% ของผู้ใช้ Anaconda ต้องการ เพียงอัปเกรดเมตาดาต้าแพคเกจรุ่นล่าสุดของ Anaconda (รวบรวมและทดสอบโดยผู้จัดจำหน่าย Anaconda) และไม่สนใจสถานะการอัปเดตของแต่ละแพ็คเกจ (ซึ่งจะออกโดยconda update --all)


@Arrow_Raider เกี่ยวข้องกับการconda update ...พิมพ์ผิดหรือเปล่า? ตกลง
MattSchmatt

5

นี่คือวิธีปฏิบัติที่ดีที่สุด (จากประสบการณ์ต่ำต้อยของฉัน) การเลือกแพ็กเกจทั้งสี่นี้จะอัปเดตการอ้างอิงอื่น ๆ ทั้งหมดเป็นเวอร์ชันที่เหมาะสมซึ่งจะช่วยให้คุณรักษาสภาพแวดล้อมให้สอดคล้องกัน ปัญหาหลังนี้เป็นปัญหาทั่วไปที่คนอื่น ๆ ได้แสดงไว้ในคำตอบก่อนหน้านี้ วิธีนี้ไม่จำเป็นต้องใช้เครื่อง

การอัปเดตและอัปเกรดแนวปฏิบัติที่ดีที่สุดของ Anaconda3 หรือ Anaconda2


ขอบคุณช่วยฉันด้วย!
Ilan Aizelman WS

3

เปิด Anaconda cmd ในโหมดฐาน:

จากนั้นใช้conda update condaเพื่ออัปเดต Anaconda

จากนั้นคุณสามารถใช้การอัปเดต conda -เพื่ออัปเดตข้อกำหนดทั้งหมดสำหรับแอนาคอนดา

conda update conda  
conda update --all  

2

บน Mac เปิดเทอร์มินัลแล้วรันคำสั่ง 2 คำสั่งต่อไปนี้

conda update conda
conda update anaconda

ตรวจสอบให้แน่ใจว่าได้รันคำสั่งแต่ละครั้งหลายครั้งเพื่ออัปเดตเป็นเวอร์ชันปัจจุบัน


7
หลายครั้ง doest เหมาะสมที่จะทำเช่นนั้น
Deepak

2
จากประสบการณ์ของฉันถ้าคุณเพียงแค่เรียกใช้คำสั่งเมื่อมันไม่ได้อัพเดตเป็นแพ็คเกจหลามรุ่นล่าสุด ดังนั้นฉันแนะนำให้รันหลาย ๆ ครั้ง
Ajay Sant

นี่เป็นคำตอบที่ซ้ำกันในหน้าเดียวกัน: stackoverflow.com/a/46842054/109618
David J.

2

ฉันใช้ Windows 10 อัปเดตทุกอย่างต่อไปนี้และติดตั้งแพ็กเกจใหม่บางอย่างรวมถึงการปรับปรุงหลาม (สำหรับฉันมันคือ 3.7.3)

ที่เชลล์ลองต่อไปนี้ (อย่าลืมเปลี่ยนตำแหน่งที่ติดตั้งข้อมูล Anaconda3 ของคุณ) ใช้เวลาพอสมควรในการอัพเดททุกอย่าง

conda update --prefix X:\XXXXData\Anaconda3 anaconda

1

หากต้องการอัปเดตเวอร์ชันที่ติดตั้งของคุณเป็นเวอร์ชันล่าสุดให้เรียกใช้ 2019.07

conda install anaconda=2019.07

ในกรณีส่วนใหญ่วิธีนี้สามารถตอบสนองความต้องการของคุณและหลีกเลี่ยงปัญหาการพึ่งพา


0
conda create -n py37 -c anaconda anaconda=5.3.1
conda env export -n py37 --file env.yaml

ค้นหา env.yaml ใน C: \ Windows \ System32 และเรียกใช้ cmd ในฐานะผู้ดูแลระบบ

conda env update -n root -f env.yaml  

จากนั้นก็ใช้งานได้!


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.