توزیع پایتون آناکوندا (Anaconda Python Distribution) – به زبان ساده
«آناکوندا» (Anaconda) یک توزیع آزاد و «متنباز» (Open Source) از زبانهای برنامهنویسی «پایتون» (Python Programming Language) و «آر» (R) برای انجام محاسبات علمی («علم داده» (Data Science)، «یادگیری ماشین» (Machine Learning)، «پردازش داده بزرگ مقیاس» (Large-Scale Data Processing)، «تحلیلهای پیشبین» (Predictive Analytics) و دیگر موارد است. هدف توزیع پایتون آناکوندا ساده کردن مدیریت و استقرار «بسته» (Package) است. نسخههای بسته (Package) به وسیله سیستم مدیریت بسته «کوندا» (Conda) مدیریت میشوند. توزیع آناکوندا توسط بیش از ۱۵ میلیون کاربر مورد استفاده قرار میگیرد و شامل بیش از ۱۵۰۰ بسته علم داده محبوب میشود که برای «ویندوز» (Windows)، «لینوکس» (Linux) و «مکاواس» (MacOS) مناسب هستند.
توزیع پایتون آناکوندا
توزیع پایتون آناکوندا با بیش از ۱,۵۰۰ بسته شامل بسته «کوندا» (Conda) و «مدیر محیط مجازی» (Virtual Environment Manager) ارائه میشود. این توزیع دارای «رابط کاربری گرافیکی» (Graphical User Interface | GUI) به نام «آناکوندا نویگیتور» (Anaconda Navigator) است که به عنوان جایگزینی برای «رابط خط فرمان» (Command Line Interface | CLI) محسوب میشود. تفاوت اصلی بین مدیر بسته کوندا و pip در چگونگی مدیریت وابستگیهای بستهها است که چالشی قابل توجه برای علم داده در پایتون محسوب میشود و به همین دلیل، کوندا ایجاد شده است.
pip همه وابستگیهای مورد نیاز بسته پایتون را صرفنظر از اینکه با دیگر بستههایی که پیش از این نصب شدهاند سازگار هستند یا نه، نصب میکند. بنابراین، برای مثال نصب فعال «تنسورفلو» (Tensorflow) ممکن است ناگهان وقتی کاربر با pip بسته متفاوت دیگری را از کتابخانه «نامپای» (NumPy) نصب میکند متوقف شود. بدتر آنکه ممکن است این چنین به نظر برسد که همه چیز همچنان به خوبی کار میکند، اما نتایج متفاوتی در فعالیتهای علم داده و خروجیها حاصل شود یا کاربر قادر به بازتولید نتایج مشابه در جای دیگری نباشد زیرا pip install به ترتیب مشابهی انجام نشده است.
کوندا محیط کنونی فرد شامل هر آنچه نصب کرده و هر محدودیت نسخهای که تعیین شده (برای مثال کاربر فقط تنسورفلو نسخه ۲.۰ به بالا را میخواهد) را تحلیل میکند و تشخیص میدهد که چگونه وابستگیهای ناسازگار را نصب کند و یا به کاربر میگوید که کار مد نظر او قابل انجام نیست. این در حالی است که pip صرفا چیزی که کاربر خواسته و هر وابستگی را نصب میکند، حتی اگر دیگر چیزها دچار مشکل شوند.
بستههای متنباز با استفاده از دستور conda install میتوانند به طور مستقل از مخزن توزیع پایتون آناکوندا، «آناکوندا کلود» (Anaconda Cloud) و مخزن یا آینه اختصاصی کاربر نصب شوند. Anaconda Inc همه بستههای توزیع پایتون آناکوندا را در مخزن آناکوندا کامپایل میکند و میسازد و دودوییها را برای ویندوز ۳۲/۶۴ بیت، لینوکس ۶۴ بیت و مکاواس ۶۴ بیت فراهم میکند. همچنین، میتوان هر چیزی را روی PyPI با استفاده از pip روی محیط کوندا نصب کرد و کوندا میتواند بفهمد که چه چیزی را خودش نصب کرده و چه چیزی توسط pip نصب شده است.
بستههای سفارشی را میتوان با استفاده از دستور conda build ساخت و با آپلود کردن آنها در آناکوندا کلود، PyPI یا دیگر مخازن، با دیگران به اشتراک گذاشت. نصب پیشفرض توزیع پایتون آناکوندا۲ دارای پایتون ۲.۷ و آناکوندا۳ همراه با پایتون ۳.۷ است. اگرچه، کاربر میتواند محیط جدیدی بسازد که شامل هر نسخهای از پایتون بستهبندی شده با کوندا باشد.
کوندا به طور کامل به زبان پایتون نوشته شده است و همین امر استفاده از آن را در محیط مجازی پایتون آسانتر میکند. علاوه بر آن، میتوان از کوندا برای کتابخانههای C، بستههای R، بستههای «جاوا» (Java) و دیگر موارد استفاده کرد. کوندا مدیر بسته آناکوندا است؛ توزیع پایتونی که توسط شرکت «کانتینوم آنالیتیکس» (Continuum Analytics) ارائه شده است. همانطور که پیشتر نیز بیان شد، میتوان پیرامون توزیع پایتون آناکوندا چنین گفت:
آناکوندا یک توزیع R و پایتون است. هدف آناکوندا فراهم کردن هر آنچه کاربر نیاز دارد برای وظایف مبتنی بر علمداده است.
آناکوندا مجموعهای از کتابخانهها شامل «سایپای» (Scipy)، «نامپای» (Numpy) و «پانداس» (Pandas) با همه وابستگیهای آنها است.
- سایپای یک بسته تحلیل آماری است.
- نامپای یک بسته محاسبات عددی است.
- پانداس یک لایه انتزاع داده است که راهکاری برای ادغام و تبدیل دادهها ارائه میکند.
آناکوندا به کاربر با انجام یکپارچه همه کارهای مد نظر او کمک میکند. در واقع میتوان گفت که آناکوندای دودویی یک نصاب است که همه این بستهها و وابستگیهای آنها را روی سیستم کاربر نصب میکند. برای کسب اطلاعات بیشتر پیرامون کتابخانههای پایتون، مطالعه مطالب زیر توصیه میشود:
- ۱۳ کتابخانه یادگیری عمیق پایتون — راهنمای کاربردی
- ۱۰ کتابخانه پایتون علم داده — راهنمای کاربردی
- ۸ کتابخانه یادگیری ماشین پایتون — راهنمای کاربردی
- تقلب نامه (Cheat Sheet) کتابخانه های پایتون — راهنمای کامل و سریع
آناکوندا نویگیتور
آناکوندا نویگییور رابط کاربری گرافیکی دسکتاپ قرار گرفته در توزیع پایتون آناکوندا است که به کاربر امکان راهاندازی برنامههای کاربردی و مدیریت بستهها، محیطها و کانالهای کوندا را بدون استفاده از دستورات خط فرمان میدهد.
نویگیتور میتواند به دنبال بستههای جدید روی آناکوندا کلود یا مخزن محلی آناکوندا بگردد، آنها را در یک محیط نصب، اجرا و به روز رسانی کند. آناکوندا نویگیتور برای ویندوز، مکاواس و لینوکس در دسترس است. برنامههای کاربردی زیر به طور پیشفرض در نویگیتور موجود هستند.
- ژوپیترلب (JupyterLab)
- ژوپیتر نوتبوک (Jupyter Notebook)
- کیوتکنسول (QtConsole)
- اسپایدر (Spyder)
- گلوویز (Glueviz)
- اورنج (Orange)
- آراستادیو (Rstudio)
- ویژوال استودیو کد (Visual Studio Code)
کوندا
در ادامه، جملاتی از وبلاگ رسمی کوندا در توصیف چیستی آن ارائه شده است.
- کوندا یک سیستم مدیریت بسته متنباز و سیستم مدیریت محیط است که روی ویندوز، مکاواس و لینوکس نصب میشود.
- کوندا بستهها و وابستگیهای آنها را به سرعت نصب، اجرا و به روز رسانی میکند. کوندا به سادگی محیطها را روی کامپیوتر محلی کاربر میسازد، ذخیره میکند و بین آنها جا به جا میشود.
- کوندا برای برنامههای پایتون ساخته شده است، اما میتواند نرمافزار را برای هر زبانی بستهبندی و توزیع کند.
به طول کلی باید گفت که کوندا یک مدیر بسته متنباز، «چندسکویی» (Cross-Platform)، «مستقل از زبان» (Language-Agnostic) و سیستم مدیریت محیط است که بستهها و وابستگیهای آنها را نصب، اجرا و به روز رسانی میکند. مدیر بسته و محیط کوندا در همه نسخههای کوندا، مینیکوندا و مخزن آناکوندا قرار دارد.
پرسشی که در این وهله مطرح میشود این است که چرا کوندا؟ کوندا یک سیستم مدیریت بسته است که برای نصب و مدیریت بستههای نرمافزاری نوشته شده در پایتون مورد استفاده قرار میگیرد و محدودیتهای خاصی نیز دارد. برای مثال، فقط برای بستههای پایتون قابل استفاده است. pip روی پایتون متمرکز است و برای وابستگیهای کتابخانه غیر پایتون مانند MKL ،HDF5 و LLVM که دارای فایل نصب در کد منبع خود نیستند، کار نمیکند. به بیان سادهتر باید گفت:
pip مدیر بستهای است که نصب، ارتقا و حذف بستههای پایتون را تسهیل میکند. pip با محیط مجازی پایتون کار میکند. conda مدیر بستهای برای هر نرمافزاری (نصب، ارتقا و حذف) است. این مدیر بسته با محیطهای سیستم مجازی کار میکند.
کوندا یک ابزار بستهبندی و نصاب است که هدف آن انجام کاری بیش از آنچه pip انجام میدهد است. این کار در واقع مدیریت وابستگیهای خارج از بستههای پایتون به خوبی خود بستههای پایتون است.همچنین، کوندا قابلیت ساخت محیط مجازی نیز دارد.
آناکوندا کلود
آناکوندا کلود یک سرویس مدیریت بسته ارائه شده توسط کوندا است که میتوان با استفاده از آن به نوتبوکها و محیطها و بستههای کوندا و PyPI عمومی و خصوصی دسترسی داشت، آنها را ذخیره کرد و به اشتراک گذاشت. آناکوندا کلود، بستههای پایتون مفید، نوتبوکها و محیطها را برای طیف وسیعی از کاربردها میزبانی میکند. نیاز به «وارد شدن» (Log In) یا داشتن اکانت کلود برای جستجوی بستههای عمومی، دانلود و نصب آنها نیست. میتوان بستههای جدیدی را با استفاده از رابط خط فرمان آناکوندا کلاینت ساخت، سپس به صورت دستی یا خودکار بستهها را در کلود بارگذاری کرد.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون Python
- آموزش تکمیلی برنامهنویسی پایتون
- مجموعه آموزشهای دادهکاوی و یادگیری ماشین
- زبان برنامهنویسی پایتون (Python) — از صفر تا صد
- یادگیری علم داده (Data Science) با پایتون — از صفر تا صد
- آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ فرادرس
- بهترین IDE برای پایتون — معرفی و مقایسه محیط های توسعه پایتون
^^
سلام وقت بخیر . یک سوالی داشتم، من وقتی تو ژوپیتر لب کد میزنم و ران میکنم ، پشت کدم یک ستاره میاد و ران نمیشه باید چی کار کنم ؟
سلام وقت بخیر
تشکر بایت توضیحات جامع شما
سلام ممنون بابت توضیحات خوبتون .
من از اناکوندا استفاده میکنم ، یک تابع ساختم اما موقع نصب با چنین خطایی روبرو میشم
No such file or directory
با اینکه مسیرو درست میرم اما باز خطا میده !!!
دلیلش چی میتونه باشه ؟؟
درود بر شما…
بینهایت سپاسگذارم از مطالبی که عنوان نمودید. لطفا اگر امکانش هست بفرمایید که چطور میشود بستههایی مانند tensorflow ویا keras را به کمک آناکوندا نصب نمود. چون همان طور که میدانید این بستهها با دستور سادهی conda نصب نمیشوند. بنده محیط جدید هم در آناکوندا تعریف نمودم ولی در نهایت موفق به وارد کردن بستهها نشدم وبا خطای No module named ‘ tensorflow ‘ روبرو شدم.
پاینده و مانا باشید…
با سلام؛
از همراهی شما با مجله فرادرس سپاسگزاریم. برای نصب تنسورفلو در آناکوندا وب ا استفاده از کوندا، از دستور زیر استفاده کنید.
نسخه ویژه CPU:
conda create -n tf tensorflow
conda activate tf
نسخه ویژه GPU:
conda create -n tf-gpu tensorflow-gpu
conda activate tf-gpu
پیروز، شاد و تندرست باشید.
سلام خسته نباشید من تازه میخوام شروع کنم به یاد گیری قبلا فقط تجربه متلب رو داشتم
الان نمیدونم پایچارم چیه و یا اناکوندا میشه یه توضیح بدین ؟؟ کارایی هرکدوم چیه ؟؟
با سلام؛
از همراهی شما با مجله فرادرس سپاسگزاریم. پایچارم (PyCharm) یک محیط توسعه یکپارچه (Integrated Development Environment | IDE) است. محیط توسعه یکپارچه یک برنامه کامپیوتری است که ابزارها و امکانات لازم برای تسریع و تسهیل برنامهنویسی و توسعه نرمافزار را فراهم میکند. آناکوندا یک توزیع از زبان برنامهنویسی پایتون و R است که شامل محیطهای توسعه گوناگون، مدیر بسته و قابلیتهای دیگر در این راستا میشود. شایان توجه است که PyCharm یکی از محیطهای توسعهای است که در آناکوندا از آن پشتیبانی میشود. استفاده از هر یک از این دو گزینه مزایا و معایب خاص خود را دارد. برای آشنایی بیشتر با آناکوندا مطالعه همین مطلب و برای آشنایی بیشتر با PyCharm و دیگر محیطهای توسعه موجود، مطالعه مطلب زیر پیشنهاد میشود.
۵ محیط توسعه یکپارچه (IDE) پایتون برای یادگیری ماشین — راهنمای کاربردی
پیروز، شاد و تندرست باشید.
سلام
خسته نباشید
بسیار مطلب عالی ای بود اما ایراداتی هم داشت
پکیج سایپای برای کارهای علمیه نه تحلیل اماری
بر اساس مطالب درج شده در سایت نامپای این پکیجها برای کارهای آماری معرفی شدن:
Pandas
statsmodels
Seaborn
اما پکیج scipy برای این دو منظور معرفی شده:
Signal Processing یا پردازش سیگنال
Mathematical Analysis یا انالیز ریاضی
اما در کل بسیار مطلب خوبی بود و مجددا از وقت گذاشتن شما برای نگارشش تشکر میکنم
موفق باشید
یا علی
با سلام؛
از همراهی شما با مجله فرادرس بسیار سپاسگزاریم. از توضیحات شما سپاسگزارم. به طور کلی، کتابخانه «سایپای» (SciPy) یک کتابخانه رایگان و متنباز برای زبان برنامهنویسی پایتون است که در در محاسبات علمی و محاسبان فنی مورد استفاده قرار میگیرد. این کتابخانه دارای ماژولهایی برای بهینهسازی، جبر خطی، انتگرال، درونیابی، توابع خاص، تبدیل فوریه سریع، پردازش تصویر و معادلات دیفرانسیل معمولی است. بر همین اساس از این کتابخانه به طور گستردهای برای تحلیلهای آماری نیز استفاده میشود و بنابراین میتوان گفت که کتابخانهای برای تحلیلهای آماری نیز است. در مورد سایر بستههای معرفی شده برای امور آماری، برخی از این بستهها و به عنوان مثال «پانداس» (Pandas) بیشتر برای علم داده به کار میروند (که تبیین مرزهای آن با علم آمار محل مجادله پژوهشگران است) و بنابراین به عنوان کتابخانههای علم داده معرفی میشوند. در مجموع نکته کلیدی آن است که با توجه به مرزهای بسیار پیچیده میان برخی از مباحث علمی و مهندسی و چند کاربردی بودن اغلب کتابخانههای پایتون، در صورتی که در متون مختلف زمینه کاری مانند آنچه در این متن وجود دارد برای یک کتابخانه ارائه شد، به معنای نادیده گرفتن سایر کارکردهای آن کتابخانه نیست.
سپاسگزارم.