۳۰ آذر ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

با آناکوندا پایتون شروع کنید

Anaconda یک رابط کاربری گرافیکی مفید، محیط‌های کاری و ابزارهایی برای ساده‌سازی فرآیند استفاده از پایتون برای علم داده ارائه می‌کند.

Anaconda یک رابط کاربری گرافیکی مفید، محیط‌های کاری و ابزارهایی برای ساده‌سازی فرآیند استفاده از پایتون برای علم داده ارائه می‌کند.

شکی در مورد آن نیست، Python بخش مهمی از علم داده مدرن است. Python راحت و قدرتمند، دانشمندان داده و توسعه دهندگان را با کهکشانی از ابزارها و عملکردها به روش های راحت و برنامه ریزی شده متصل می کند.

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

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

نسخه های آناکوندا

آناکوندا از دو جزء اصلی تشکیل شده است: توزیع آناکوندا و خدمات مورد استفاده با آن. شما می توانید توزیع Anaconda را بدون خدمات دانلود و استفاده کنید.

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

خدمات آناکوندا در سطوح مختلف برای انفرادی و شرکت. از ویژگی‌های هر کاربر می‌توان به میزبانی حداکثر چهار برنامه داده و حداکثر ۲۰ گیگابایت نوت‌بوک با میزبانی ابری اشاره کرد. ویژگی‌های سازمانی شامل کنترل‌های مخزن، کنترل نسخه، زمان‌بندی کار، و SLA برای آپتایم است.

در همه موارد، می‌توانید از توزیع آناکوندا به‌طور نامحدود و بدون هزینه استفاده کنید.

چه چیزی در Anaconda گنجانده شده است

CPython، نسخه مرجع پایتون، شامل چند چیز برای آسان‌تر کردن زندگی است – کتابخانه استاندارد، IDLE mini-IDE، و کتابخانه رابط کاربری Tkinter. اما هر چیزی که ممکن است برای علم داده نیاز داشته باشید یک افزونه است – حتی ابتدایی ترین ابزارها. در مقابل، آناکوندا سعی می‌کند مجموعه‌ای مناسب از ابزارهای علم داده را در اختیار داشته باشد.

این چیزی است که به طور پیش فرض در توزیع Anaconda گنجانده شده است.

مفسر پایتون

Anaconda به طور پیش‌فرض جدیدترین نسخه منتشر شده مفسر پایتون را شامل می‌شود. این ساخت CPython موجودی نیست که از بنیاد نرم‌افزار پایتون می‌آید – این یک ساخت سفارشی است که توسط Anaconda Inc. به‌طور خاص برای توزیع Anaconda ایجاد شده است. به گفته پیتر وانگ، مدیر عامل آناکوندا، مفسر دارای “پرچم های کامپایلر امن تر در برخی از پلتفرم ها، بهینه سازی عملکرد بهتر در برخی دیگر است.”

گفته شد، مفسر پایتون Anaconda باید با CPython سازگار باشد. پسوندهای C نوشته شده برای آن باید همانطور که هست کار کنند.

راهنمای خریدار CI/CD: نحوه انتخاب پلت فرم CI/CD ابری

ناوبر آناکوندا

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

با Navigator می توانید برنامه های سطح بالا مانند RStudio یا Jupyterlab را اضافه و راه اندازی کنید. مدیریت محیط ها و بسته های مجازی؛ راه اندازی “پروژه ها” به عنوان راهی برای مدیریت کار در آناکوندا. و عملکردهای اداری مختلفی را انجام دهید.

اگرچه Navigator راحتی یک رابط کاربری گرافیکی را فراهم می کند، اما هیچ عملکرد خط فرمان را در Anaconda یا به طور کلی در پایتون جایگزین نمی کند. برای مثال، اگرچه می‌توانید بسته‌ها را از طریق رابط کاربری گرافیکی مدیریت کنید، می‌توانید از خط فرمان نیز برای این کار استفاده کنید.

برعکس، CPython فاقد رابط کاربری گرافیکی رسمی است. به همراه IDLE، یک mini-IDE مناسب برای کارهای سریع یکباره ارائه می شود. اما هر چیزی برای مدیریت پایتون باید از اشخاص ثالث باشد. برای این منظور، برخی از IDE ها رابط های رابط کاربری گرافیکی را برای اجزای CPython فراهم می کنند. برای مثال مایکروسافت ویژوال استودیو دارای یک رابط کاربری گرافیکی برای سیستم مدیریت بسته pip پایتون است که شبیه به رابط کاربری Anaconda برای مدیریت بسته Conda خود است.

Anaconda Navigator

Anaconda Navigator همه عناصر اصلی توزیع Anaconda Python را از طریق یک رابط کاربری قابل تنظیم توسط کاربر فراهم می کند.

 

مدیر بسته کوندا

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

توسعه دهندگان آناکوندا با این محدودیت دست و پنجه نرم کردند، اما در نهایت تصمیم گرفتند راه حل خود را مهندسی کنند: Conda، یک راه حل مدیریت بسته که نه تنها بسته های پایتون بلکه وابستگی های خارج از اکوسیستم پایتون را کنترل می کند.

در اینجا مثالی از کمک Conda آورده شده است: اگر چندین بسته Conda دارید که به یک کامپایلر متکی هستند، مانند GCC یا LLVM، Conda می‌تواند این وابستگی خارجی را برای همه آن بسته‌ها حل کند. می تواند یک نمونه از یک نسخه خاص از GCC را برای همه بسته های Conda که به آن نیاز دارند نصب کند. در مقابل، pip یا باید فرض کند که شما قبلاً GCC را در جایی بر روی سیستم خود نصب کرده‌اید یا یک نسخه از GCC را با هر بسته‌ای که از آن استفاده می‌کند بسته‌بندی کنید. این یک راه حل وحشتناک ناکارآمد و دست و پا گیر است.

بنابراین، Conda با pip قابل تعویض نیست. حتی از همان قالب بسته استفاده نمی کند. بسته های ایجاد شده برای pip باید برای Conda دوباره ایجاد شوند. اما تقریباً تمام بسته‌های مهم مورد استفاده در اکوسیستم پایتون از طریق Conda در دسترس هستند.

نسخه رابط کاربری گرافیکی سیستم مدیریت بسته Anaconda.

ابزارهای علم داده پایتون اغلب لانه‌ای از وابستگی‌ها هستند و نصب و مدیریت آن سخت است. سیستم مدیریت بسته Anaconda، Conda، که در نسخه GUI آن در اینجا نشان داده شده است، هم بسته‌های Python و هم هر وابستگی آنها را در خارج از اکوسیستم پایتون مدیریت می‌کند.

چگونه آناکوندا جدال داده ها را آسان تر می کند

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

نقد و بررسی کتاب: "ابزار پایتون برای دانشمندان"

محیط های کوندا

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

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

محیط‌های Venv را می‌توان جابه‌جا کرد، اما لزوماً اطلاعات دقیقی درباره نحوه ایجادشان ندارند. اگر به یک محیط قابل تکرار برای کاری که انجام می دهید نیاز دارید، این می تواند مشکل ساز باشد. محیط های کوندا باید تکرار شوند.

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

سه محیط Conda با بسته ها و زمان اجرا.

سه محیط Conda که هر کدام مجموعه ای از بسته ها و زمان اجرا پایتون خود را دارند. محیط env-310 از Python 3.10 به جای نسخه جدیدتر استفاده می کند. محیط ml-workspace شامل PyTorch است (همانطور که در لیست بسته در سمت راست نشان داده شده است). هر محیط Conda باید مجموعه بسته های خود را جداگانه به روز کند.

پروژه آناکوندا

یک مشکل رایج در علم داده و به طور کلی توسعه نرم افزار، بازتولید محیط دقیق مورد استفاده برای یک کار خاص است. حتی محیط‌های Conda فقط یک راه‌حل جزئی برای این مشکل ارائه می‌دهند، زیرا محیط‌های نوع venv CPython چیزهایی مانند متغیرهای محیط را بازتولید نمی‌کنند و نمی‌توانند.

پروژه آناکوندا را وارد کنید. این به شما امکان می‌دهد فهرستی پر از چیزهای مرتبط با کاری که با آناکوندا انجام می‌دهید (برنامه‌های وب، اسکریپت‌ها، نوت‌بوک‌های Jupyter، فایل‌های داده، هر چیزی که ممکن است باشد) را همانطور که Anaconda می‌گوید- و آن را به یک منبع قابل تکرار تبدیل کنید. این دایرکتوری، هنگامی که توسط پروژه Anaconda مدیریت می شود، می تواند به روشی ثابت و بدون توجه به جایی که اجرا می شود، اجرا شود، تا زمانی که یک نسخه از Anaconda در دسترس باشد.

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

برنامه های کاربردی در Anaconda

یکی دیگر از راه‌هایی که Anaconda به استفاده از Python برای تجزیه و تحلیل و کار علمی سهولت می‌بخشد این است که چگونه چندین پروژه رایج را برای کار با داده‌ها به صورت تعاملی بسته‌بندی و در دسترس قرار می‌دهد.

دو مورد از متداول‌ترین پروژه‌ها، Jupyter Notebook و JupyterLab هستند که محیط‌های زنده را برای نوشتن کد پایتون، وارد کردن داده‌ها، اجرای آزمایش‌ها و تجسم نتایج فراهم می‌کنند. Anaconda تمام تنظیمات و مدیریت را برای اجرای نمونه‌های Notebook و JupyterLab انجام می‌دهد، بنابراین کار با آن‌ها چیزی بیش از کلیک کردن روی دکمه راه‌اندازی در کنار هر برنامه در منوی اصلی Navigator است. همچنین می‌توانید نسخه‌های قبلی هر برنامه را با کلیک کردن روی نماد چرخ‌دنده برنامه نصب کنید، با فرض اینکه آنها در دسترس هستند.

چرا سیستم های Raft-native آینده جریان داده ها هستند؟

سایر برنامه‌های همراه عبارتند از:

  • Qtconsole: رابط کاربری گرافیکی برای Jupyter که از کتابخانه رابط Qt استفاده می کند. اگر ترجیح می دهید با نوت بوک های Jupyter از طریق رابطی که بومی پلتفرمی است که روی آن اجرا می کنید به جای مرورگر وب کار کنید، مفید است.
  • Spyder: محیط توسعه علمی پایتون، یک mini-IDE که به زبان پایتون نوشته شده است، عمدتاً برای توسعه دهندگانی که برنامه هایی را می نویسند که با نوت بوک های IPython/Jupyter کار می کنند. همچنین می‌تواند به عنوان یک کتابخانه برای برنامه‌های پایتون که به یک رابط IDE مانند نیاز دارند، استفاده شود.
  • RStudio: ابزاری برای کار با زبان R که در بسیاری از زمینه ها برای تجزیه و تحلیل داده ها استفاده می شود. محبوبیت پایتون در بین کاربران R افزایش یافته است، اما هنوز سناریوهای زیادی وجود دارد که R همچنان زبان انتخابی است و RStudio راه هایی برای کار با این دو زبان با هم ارائه می دهد.
  • کد ویژوال استودیو: ویرایشگر مایکروسافت می‌تواند به همان اندازه که می‌خواهید ساده یا پیشرفته باشد، به لطف فرهنگ عظیم برنامه‌های افزودنی آن. همچنین یکی از بهترین محیط ها برای کار با پایتون است. کاربران آناکوندا می‌توانند مستقیماً به کد ویژوال استودیو بدون نیاز به نصب جداگانه آن بپرند.

Anaconda بسیاری از برنامه های کاربردی از جمله Jupyter Notebook را در بسته بندی می کند.

Anaconda بسیاری از برنامه‌های کاربردی کمکی، مانند Jupyter Notebook، یک محیط کاری تعاملی درون مرورگر برای پایتون را بسته‌بندی می‌کند. تمام جزئیات مدیریت Jupyter به طور خودکار توسط Anaconda مدیریت می شود.

مینیکوندا: آناکوندای سبک وزن

اگر می‌خواهید از Anaconda استفاده کنید، اما نمی‌خواهید همه چیز را به یکباره نصب کنید، و لزوماً به Navigator نیاز ندارید، می‌توانید با Miniconda یک رویکرد افزایشی داشته باشید.

Miniconda فقط حداقل مطلق مورد نیاز را برای شروع با Anaconda نصب می‌کند: مفسر Python (همانطور که توسط Anaconda بسته‌بندی شده است)، مدیر بسته Conda، و چند بیت اصلی دیگر. می‌توانید با استفاده از Conda از خط فرمان، اجزای بیشتری اضافه کنید یا محیط‌هایی ایجاد کنید، درست مانند نسخه کامل Anaconda.

چند نکته ارزش در نظر گرفتن را دارد. اول، همانطور که در بالا اشاره شد، رابط کاربری گرافیکی Anaconda Navigator به طور پیش فرض نصب نشده است. با این حال، اگر متوجه شدید که آن را می‌خواهید، می‌توانید آن را بعد از واقعیت در Conda اضافه کنید (با دستور conda install anaconda-navigator).

دوم، Miniconda به‌طور پیش‌فرض در فهرستی با نام Miniconda3 نصب می‌شود، نه Anaconda. اگر کسی به دنبال یافتن نصب Miniconda در فهرست Anaconda باشد، ممکن است این کار را ناامید کند. هر چند دایرکتوری نصب را می توان در صورت نیاز سفارشی کرد.

سومین (و از برخی جهات مهم‌ترین)، Conda را می‌توان فقط برای نصب بسته‌های موجود از طریق مخزن خود Conda در Miniconda استفاده کرد. برای نصب بسته‌های موجود از طریق مخزن پیش‌فرض بسته پایتون، PyPI، استفاده نمی‌شود. می‌توانید از ابزار استاندارد مدیریت بسته پایتون، pip برای نصب بسته‌های پایتون از PyPI در Miniconda استفاده کنید. این بسته‌ها را نمی‌توان توسط Conda مدیریت کرد، اما فقط pip، و شما باید گام‌های خاصی بردارید تا به pip و Conda اجازه دهید همزیستی کنند.

اگر می‌خواهید Conda همه چیز را مدیریت کند، می‌توانید بسته‌های PyPI را به‌عنوان بسته‌های Conda از طریق یک فرآیند دو مرحله‌ای دوباره بسته‌بندی کنید.