Anaconda vs. EPD Enthought เทียบกับการติดตั้ง Python ด้วยตนเอง [ปิด]


112

ข้อดี / ข้อเสียสัมพัทธ์ของชุด Python ต่างๆ (EPD / Anaconda) เทียบกับการติดตั้งด้วยตนเองคืออะไร

ฉันได้ติดตั้ง EPD วิชาการแล้วและฉันไม่มีปัญหากับมัน มันมีแพ็คเกจเพิ่มเติมที่ฉันคิดว่าฉันต้องการและมันง่ายมากที่จะอัปเดตโดยใช้ enpkg enstaller อย่างไรก็ตามใบอนุญาตการศึกษาของ EPD ต้องการการต่ออายุทุกปีและเวอร์ชันฟรีจะไม่ทำการอัปเดตอย่างง่ายดาย

ในขณะนี้ฉันใช้เพียงไม่กี่แพ็คเกจเช่นPandas , NumPy , SciPy , matplotlib , IPython , Statsmodelsและการอ้างอิงตามลำดับ

สำหรับการใช้งานที่ จำกัด เช่นนี้ฉันควรติดตั้งด้วยตนเองดีกว่าpip install --upgrade 'package'ไหมและหรือบันเดิลมีอะไรที่เหนือกว่านี้


2
ดู Python (x, y) ด้วย มีกลุ่มเป้าหมายที่คล้ายกันเช่น Enthought Python แต่ไม่มีค่าใช้จ่ายใด ๆ code.google.com/p/pythonxy
Eike

1
ฉันคิดว่ามันขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้ ของคุณคืออะไร?
Andrea Zonca

5
ข้อดีอย่างหนึ่งของการใช้ Anaconda แม้ใน Ubuntu คือคุณสามารถติดตั้งที่มีการจัดการได้อย่างง่ายดายในฐานะผู้ใช้ที่ไม่ใช่รูท หรือคุณสามารถมีหลายสภาพแวดล้อมที่มีแพ็คเกจหลายเวอร์ชันในระบบเดียวกันโดยใช้ conda package manager ซึ่งเป็นหัวใจสำคัญของการแจกจ่าย Anaconda
Travis Oliphant

5
นอกจากนี้ FYI Anaconda ยังให้บริการฟรีสำหรับทุกคนทั้งด้านวิชาการและเชิงพาณิชย์ มีใบอนุญาตฟรีสำหรับนักวิชาการของส่วนเสริมของ Continuum ซึ่งเป็นสิ่งที่แยกออกจาก Anaconda เอง
Travis Oliphant

1
นี่คือ "ข้อเท็จจริง" บางส่วน: ฉันทดสอบการคำนวณเมทริกซ์อย่างง่าย (ผลิตภัณฑ์เมทริกซ์จุดผกผัน) โดยใช้ numpy ใน anaconda เทียบกับ vanilla python 2.7 ล่ามวานิลลาใช้เพียง 1 เธรดในแล็ปท็อปของฉันซึ่งมี 4 คอร์และ 8 เธรดในขณะที่ anaconda ใช้เธรดทั้งหมด 8 เธรด ดังนั้นความเร็วจะเร็วกว่าประมาณ 7 เท่าในอนาคอนด้า
Jason

คำตอบ:


48

อัปเดต 2015 : ทุกวันนี้ฉันแนะนำ Anaconda อยู่เสมอ ประกอบด้วยแพ็คเกจ Python มากมายสำหรับการคำนวณทางวิทยาศาสตร์วิทยาศาสตร์ข้อมูลการพัฒนาเว็บ ฯลฯ นอกจากนี้ยังมีเครื่องมือสภาพแวดล้อมที่เหนือกว่าcondaซึ่งช่วยให้สามารถสลับไปมาระหว่างสภาพแวดล้อมได้อย่างง่ายดายแม้ระหว่าง Python 2 และ 3 นอกจากนี้ยังอัปเดตอย่างรวดเร็วในไม่ช้า เมื่อมีการเปิดตัวแพ็คเกจเวอร์ชันใหม่และคุณสามารถconda update packagenameอัปเดตได้

คำตอบเดิมด้านล่าง :

ใน Windows สิ่งที่ซับซ้อนคือการรวบรวมแพ็คเกจคณิตศาสตร์ดังนั้นฉันคิดว่าการติดตั้งด้วยตนเองเป็นตัวเลือกที่ใช้ได้ก็ต่อเมื่อคุณสนใจเท่านั้น Pythonโดยไม่มีแพ็คเกจอื่น ๆ

ดังนั้นควรเลือก EPD (ตอนนี้ Canopy) หรือ Anaconda

Anaconda มีแพ็คเกจประมาณ 270 ชิ้นซึ่งรวมถึงสิ่งที่สำคัญที่สุดสำหรับการใช้งานทางวิทยาศาสตร์และการวิเคราะห์ข้อมูลส่วนใหญ่นั่นคือNumPy , SciPy , Pandas , IPython , matplotlib , Scikit-learn Scikitดังนั้นถ้าสิ่งนี้เพียงพอสำหรับคุณฉันจะเลือก Anaconda

หากคุณสนใจแพ็คเกจอื่นและยิ่งกว่านั้นหากคุณใช้แพ็คเกจ Enthought ใด ๆ ( เช่นChacoมีประโยชน์มากสำหรับการแสดงข้อมูลแบบเรียลไทม์) EPD / Canopy น่าจะเป็นทางเลือกที่ดีกว่า เวอร์ชันวิชาการมีแพ็กเกจจำนวนมากในการติดตั้งพื้นฐานและอื่น ๆ อีกมากมายในที่เก็บ อนาคอนดายังรวมถึงชาโค


1
ตอนนี้ฉันกำลังดูคำถามเดียวกันนี้ด้วยตัวเอง คุณระบุว่า Canopy มีแพ็กเกจเพิ่มเติมหมายความว่าไม่สามารถติดตั้งแพ็คเกจอื่น ๆ เหล่านี้ใน anaconda ได้หรือไม่? ดูเหมือนโง่ที่จะ จำกัด ตัวเองโดยไม่รู้ว่า 2 ปีข้างทางฉันต้องการแพ็คเกจอะไรสักอย่าง
Dominik

3
หวังว่าในอีก 2 ปีคุณจะอัปเดตระบบปฏิบัติการหรือการติดตั้ง python ของคุณ ... ใช่แล้วคุณสามารถติดตั้งแพ็คเกจ python เพิ่มเติมทุกชุดในการแจกจ่าย python ที่คุณเลือก สำหรับแพ็คเกจ python อย่างเดียวนั้นง่ายมาก สำหรับแพ็กเกจที่ฝังส่วนขยาย C หรือ C ++ (โดยปกติแล้วจะเป็นแพ็คเกจทางวิทยาศาสตร์) สิ่งนี้ยากกว่าโดยเฉพาะในหน้าต่างดังนั้นควรคิดล่วงหน้า
Andrea Zonca

13
FWIW, Anaconda ยังรวม Chaco และมีแพ็คเกจมากกว่า 20 รายการ: docs.continuum.io/anaconda/pkgs.html (มีให้บริการมากขึ้นใน repo และไม่รวมกับโปรแกรมติดตั้ง)
Peter Wang

3
นอกจากนี้ยัง FWIW, งูใหญ่ตอนนี้มีความสุข CONDA เมตา / pkg * ข้อมูลในทุกแพคเกจ 100 คี่: ต้องมีรุ่น ... ( CONDA-ต้องสรุปทั้งหมดต้อง.)
เดนิส

3
ฉันพยายามตั้งค่า python สำหรับการขุดข้อมูลบน Mac ของฉัน ฉันยังไม่ได้แตกน็อตนี้ แต่ส่วนที่น่าผิดหวังที่สุดจนถึงตอนนี้คือการติดตั้ง Enthought Canopy Express จากนั้นเรียนรู้ว่าพวกเขาคิดค่าบริการ $ 199 สำหรับการเข้าถึง scikit-learn และ nltk
rrs

11

ฉันได้ลองใช้ Windows รุ่นต่างๆในปีที่แล้วโดยพยายามค้นหาสิ่งที่เข้าได้สำหรับสภาพแวดล้อมการทำงานของฉัน (หลังพร็อกซี แต่ไม่สามารถเข้าถึงการกำหนดค่าพร็อกซีได้)

นี่คือความคิดเห็นของฉันจากประสบการณ์:

EPD / Canopy: เรามีใบอนุญาตของ EPD แต่มันเก่าแล้วและเราไม่สามารถอัปเดตได้เนื่องจากสถานการณ์ของพร็อกซีแปลก ๆ ในการเพิ่มแพ็คเกจบางอย่าง (เช่นxlrd / xlwtเวอร์ชันล่าสุด) ฉันรวบรวมจากแหล่งที่มา ในการอัปเดตSciPyและNumPyฉันใช้โปรแกรมติดตั้งที่คอมไพล์ไว้ล่วงหน้าจากhttp://www.lfd.uci.edu/~gohlke/pythonlibs/แต่บางครั้งก็อาจทำให้ความเข้ากันได้แย่ลง ฉันชอบที่จะมีPy2exeและCython ที่กำหนดค่าไว้อย่างสมบูรณ์และมันก็ใช้งานได้ทันที

หลังจากนั้นไม่นานฉันได้ลองติดตั้ง Canopy เวอร์ชันฟรี แต่ไม่มี Cython และ py2exe และมีแพ็คเกจขั้นสูงเฉพาะบางอย่างที่ฉันต้องการดังนั้นฉันจึงไม่เคยใช้มันเลย เพื่อนร่วมงานของฉันบางคนซื้อใบอนุญาต Canopy แบบเต็ม แต่เรายังไม่แน่ใจว่าพวกเขาจะอัปเดตอย่างไร ...

Python (x, y): ไม่ต้องการต่อสู้กับใบอนุญาตฉันติดตั้ง Python (x, y) ที่บ้าน ข้อเสียอย่างเดียวที่ฉันสังเกตเห็นในตอนนี้คือการติดตั้งมาตรฐานกำหนดให้คุณต้องเลือกแพ็คเกจที่คุณต้องการ มันเป็นทั้งจุดดีและจุดเสียเพราะฉันไม่สามารถมั่นใจได้ว่าไคลเอนต์ของฉันจะมีการกำหนดค่าเหมือนกับที่ฉันทำเมื่อฉันติดตั้ง (ชุดเครื่องมือ Enthought สามารถติดตั้งได้ใน Python (x, y)) หลังจากใช้ Python (x, y) มาระยะหนึ่งฉันเพิ่งสังเกตเห็นว่าฉันติดตั้งเวอร์ชัน 32 บิต แม้ว่าเว็บไซต์จะไม่ชัดเจน แต่ดูเหมือนว่าจะไม่มีเวอร์ชัน 64 บิต ณ เดือนกรกฎาคม 2015 ฉันจะถอนการติดตั้งและรับการแจกจ่าย 64 บิต

Anaconda: ตอนที่ฉันเขียนเรื่องนี้ครั้งแรก Anaconda ดูเหมือนจะยังไม่มีแพ็คเกจเพียงพอ สองสามปีต่อมาดูเหมือนว่าดีขึ้นมากฉันจะลองดู!

คู่มือ: เพื่อหลีกเลี่ยงปัญหาความเข้ากันได้ของเวอร์ชันกับเวอร์ชัน EPD เก่าของเราฉันจึงใช้การติดตั้ง Python ด้วยตนเองและเพิ่มแพ็คเกจเพิ่มเติมจากเว็บไซต์ LFD ที่ลิงก์ด้านบน ใช้งานได้ดี แต่ฉันยังคงแนะนำ Canopy ให้กับผู้ใช้ใหม่ที่ต้องการแพ็คเกจขั้นสูง (เช่นGDALหรือPyFITS )

สรุป:หากคุณไปที่ Canopy รับใบอนุญาตแบบเต็ม (วิชาการหรือซื้อ) มิฉะนั้นไปกับ Python (x, y) มันจะจบลงเหมือนกัน

บน Ubuntu: ไม่จำเป็นต้องมีการแจกจ่าย ทั้งหมดนี้ค่อนข้างล่าสุด (สามารถยอมรับได้ +/- 6 เดือน) และคอมไพล์ล่วงหน้า คุณเพียงแค่ต้องดำเนินการsudo apt-get install python python-scipyและอยู่ที่นั่น! แพ็คเกจที่ทันสมัยที่สุดก็มีเช่นกัน


เฮ้ราฟาเอลคุณดูอนาคอนดาเมื่อเร็ว ๆ นี้หรือไม่? มันมาไกล
Peter Wang

ดาวน์โหลด pythonxy - ไม่ได้อยู่ในที่อยู่ที่คาดไว้ซึ่งเป็นเพียงโดเมนที่พักในปัจจุบัน
pbhj

การใช้ที่เก็บ ubuntu python / scipy ฯลฯ ... (ติดตั้งด้วย apt) นั้นใช้ได้ แต่มักจะมีไม่กี่เวอร์ชันที่อยู่เบื้องหลังซึ่งอาจเป็นความเจ็บปวดเนื่องจากพลาดการแก้ไขข้อบกพร่องและคุณสมบัติใหม่ที่มีประโยชน์ ฉันมักจะแนะนำให้ติดตั้งด้วย pip และรับเวอร์ชันเสถียรล่าสุด
drevicko

4

คำตอบอื่น ๆ ครอบคลุมพื้นที่ค่อนข้างดีดังนั้นฉันแค่อยากจะตั้งข้อสังเกตในแง่มุมหนึ่งที่ยังไม่มีใครพูดถึง มันอาจจะค่อนข้างเฉพาะ แต่อาจสร้างหรือทำลาย Anaconda หรือ Canopy สำหรับบางคนภายใต้ระบบ Linux:

Anaconda Python สร้างขึ้นใช้โหมด UCS4 Unicode ในขณะที่ Enthought Canopy ใช้ UCS2

สิ่งนี้หมายความว่าในทางปฏิบัติคือหากคุณใช้ส่วนขยายใด ๆ ที่คุณไม่สามารถรวบรวมด้วยตนเองไม่ว่าด้วยเหตุผลใดก็ตาม (เช่นไลบรารีที่เป็นกรรมสิทธิ์ที่รวบรวมไว้ล่วงหน้า) หากไม่ได้สร้างขึ้นสำหรับเวอร์ชัน Python ด้วยโหมดเดียวกันคุณอาจเร็วกว่านี้ undefined symbol: PyUnicodeUCS4_AsUTF8Stringหรือเรียกใช้ภายหลังเป็นข้อผิดพลาดที่มีลักษณะบางอย่างเช่น

จากข้อมูลของPEP 0513 UCS4 ดูเหมือนจะเป็นที่นิยมและแนะนำมากขึ้น นอกจากนี้ปัญหาความเข้ากันได้ของ UCS ทั้งหมดดูเหมือนจะมีผลกับเวอร์ชัน 2.x และ <3.3 เท่านั้น


นี่เป็นสิ่งที่มีประโยชน์ที่ควรทราบ ขอบคุณ!
pysolver

-4

ฉันใช้ Anaconda มาหลายปีแล้วและชอบมันไม่น้อย น่าเสียดายที่IPython Notebook (ปัจจุบันคือJupyter ) ไม่สามารถใช้งานได้หากไม่มีรุ่นสำหรับองค์กร

ฉันต้องการใช้สมุดบันทึก Jupyter ในห้องเรียนฉันจึงเปลี่ยนมาใช้ Canopy ดูเหมือนง่ายพอที่จะติดตั้งแพ็คเกจทั้งหมดที่เราต้องการ เป็นที่ยอมรับเรายังไม่ได้ทดสอบทั้งหมด


1
อย่างน้อย Jupyter Notebook ของฉันก็ยังใช้งานได้กับ Anaconda เวอร์ชัน Standard (ฟรี) คุณช่วยอธิบายอย่างละเอียดได้ไหมว่าคุณได้ข้อมูลนั้นมาจากที่ใด อย่างน้อยในหน้าแรกของ Anaconda อย่างเป็นทางการ Jupyter ก็ยังอยู่ในรายการ
MSeifert

2
นี่ไม่เป็นความจริง Jupyter / IPython มีให้ใช้งานใน Anaconda ฟรีเสมอ FWIW, Continuum Analytics (ผู้ผลิต Anaconda) มีผู้พัฒนาหลักของ Jupyter หลายราย
Peter Wang

โปรดแก้ไขคำตอบที่ผิดพลาดของคุณ เว็บไซต์ ipython ยังบอกวิธีการติดตั้งโดยใช้ Anaconda: ipython.org/install.html
Bradley Kreider
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.