«آناکوندا» (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 صرفا چیزی که کاربر خواسته و هر وابستگی را نصب می‌کند، حتی اگر دیگر چیزها دچار مشکل شوند.

توزیع پایتون آناکوندا (Anaconda Python Distribution) -- به زبان ساده

بسته‌های متن‌باز با استفاده از دستور conda install می‌توانند به طور مستقل از مخزن توزیع پایتون آناکوندا، «آناکوندا کلود» (Anaconda Cloud) و مخزن یا آینه اختصاصی کاربر نصب شوند. Anaconda Inc همه بسته‌های توزیع پایتون آناکوندا را در مخزن آناکوندا کامپایل می‌کند و می‌سازد و دودویی‌ها را برای ویندوز ۳۲/۶۴ بیت، لینوکس ۶۴ بیت و مک‌او‌اس ۶۴ بیت فراهم می‌کند. همچنین، می‌توان هر چیزی را روی PyPI با استفاده از pip روی محیط کوندا نصب کرد و کوندا می‌تواند بفهمد که چه چیزی را خودش نصب کرده و چه چیزی توسط pip نصب شده است.

بسته‌های سفارشی را می‌توان با استفاده از دستور conda build ساخت و با آپلود کردن آن‌ها در آناکوندا کلود، PyPI یا دیگر مخازن، با دیگران به اشتراک گذاشت. نصب پیش‌فرض توزیع پایتون آناکوندا۲ دارای پایتون ۲.۷ و آناکوندا۳ همراه با پایتون ۳.۷ است. اگرچه، کاربر می‌تواند محیط جدیدی بسازد که شامل هر نسخه‌ای از پایتون بسته‌بندی شده با کوندا باشد.

کوندا به طور کامل به زبان پایتون نوشته شده است و همین امر استفاده از آن را در محیط مجازی پایتون آسان‌تر می‌کند. علاوه بر آن، می‌توان از کوندا برای کتابخانه‌های C، بسته‌های R، بسته‌های «جاوا» (Java) و دیگر موارد استفاده کرد. کوندا مدیر بسته آناکوندا است؛ توزیع پایتونی که توسط شرکت «کانتینوم آنالیتیکس» (Continuum Analytics) ارائه شده است. همانطور که پیش‌تر نیز بیان شد، می‌توان پیرامون توزیع پایتون آناکوندا چنین گفت:

آناکوندا یک توزیع R و پایتون است. هدف آناکوندا فراهم کردن هر آنچه کاربر نیاز دارد برای وظایف مبتنی بر علم‌داده است.

آناکوندا مجموعه‌ای از کتابخانه‌ها شامل «سای‌پای» (Scipy)، «نام‌پای» (Numpy) و «پانداس» (Pandas) با همه وابستگی‌های آن‌ها است.

  • سای‌پای یک بسته تحلیل آماری است.
  • نام‌پای یک بسته محاسبات عددی است.
  • پانداس یک لایه انتزاع داده است که راهکاری برای ادغام و تبدیل داده‌ها ارائه می‌کند.

آناکوندا به کاربر با انجام یکپارچه همه کارهای مد نظر او کمک می‌کند. در واقع می‌توان گفت که آناکوندای دودویی یک نصاب است که همه این بسته‌ها و وابستگی‌های آن‌ها را روی سیستم کاربر نصب می‌کند. برای کسب اطلاعات بیشتر پیرامون کتابخانه‌های پایتون، مطالعه مطالب زیر توصیه می‌شود:

آناکوندا نویگیتور

آناکوندا نویگییور رابط کاربری گرافیکی دسکتاپ قرار گرفته در توزیع پایتون آناکوندا است که به کاربر امکان راه‌اندازی برنامه‌های کاربردی و مدیریت بسته‌ها، محیط‌ها و کانال‌های کوندا را بدون استفاده از دستورات خط فرمان می‌دهد. نویگیتور می‌تواند به دنبال بسته‌های جدید روی آناکوندا کلود یا مخزن محلی آناکوندا بگردد، آن‌ها را در یک محیط نصب، اجرا و به روز رسانی کند. آناکوندا نویگیتور برای ویندوز، مک‌او‌اس و لینوکس در دسترس است. برنامه‌های کاربردی زیر به طور پیش‌فرض در نویگیتور موجود هستند.

توزیع پایتون آناکوندا (Anaconda Python Distribution) -- به زبان ساده

  • ژوپیترلب (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) یا داشتن اکانت کلود برای جستجوی بسته‌های عمومی، دانلود و نصب آن‌ها نیست. می‌توان بسته‌های جدیدی را با استفاده از رابط خط فرمان آناکوندا کلاینت ساخت، سپس به صورت دستی یا خودکار بسته‌ها را در کلود بارگذاری کرد.

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

به عنوان حامی، استارتاپ، محصول و خدمات خود را در انتهای مطالب مرتبط مجله فرادرس معرفی کنید.

telegram
twitter

الهام حصارکی

«الهام حصارکی»، فارغ‌التحصیل مقطع کارشناسی ارشد مهندسی فناوری اطلاعات، گرایش سیستم‌های اطلاعات مدیریت است. او در زمینه هوش مصنوعی و داده‌کاوی، به ویژه تحلیل شبکه‌های اجتماعی، فعالیت می‌کند.

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *