مبانی زبان Python _ بخش 2
محتوا:
در نخستین مقالهی آموزش برنامه نویسی زبان python از سری مقالات مرتبط با برنامه نویسی در بازارهای مالی به شرح و بررسی «پایتون و اصول ذن پایتون!» پرداختیم.، در این بخش به «راهاندازی ابتدایی پایتون» و دیگر نکات ابتدایی خواهیم پرداخت.
پایتون به عنوان ابزاری برای اتوماتیک کردن الگوریتمهای معاملاتی میتواند مورد استفاده قرار گیرد. در صورت برقراری شرایط معاملات الگوریتمی در بازار هدف برای اعمال هر یک از محاسبات بازارهای مالی در استراتژیهای معاملاتی میتوانید از سفارش کد پایتون، سفارش کد mql و … برای کد کردن و بهینهیابی استراتژیهای معاملاتی خود استفاده کنید. و در عین حال سوای امکان سفارش اکسپرت میتوانید از سفارش اندیکاتور برای دریافت یک نمایش گرافیکی از محاسبات استراتژی خود بهره ببرید.
– – –
نصب یا به روز رسانی پایتون در رایانه شما اولین قدم برای تبدیل شدن به یک برنامه نویس پایتون است. در این بخش از آموزش برنامه نویسی پایتون نخست در بارهی روشهای نصب پایتون صحبت میکنیم. برای این امر روشهای نصب زیادی وجود دارد: میتوانید توزیعهای رسمی پایتون را از سایت رسمی آن دانلود کنید، از یک package manager استفاده کنید، و حتی توزیعهای تخصصی را برای محاسبات علمی(scientific computing)، اینترنت اشیا(Internet of Things) و سیستمهای جاسازی شده (embedded systems) نصب کنید.
طبق تجربه من، ایجاد محیط های پایتون(Python environments) یک موضوع چالش برانگیز است. این آموزش بر نصب از یک package manager متمرکز است، زیرا آنها به طور کلی بهترین گزینه برای کنترل کامل در برنامه نویسی با پایتون هستند. پس چرا دقیقاً به محیط های پایتون نیاز دارید؟ ممکن است بپرسید: آیا نباید فقط آخرین نسخه پایتون را نصب کنم؟ در این مقاله به این سوال پاسخ خواهیم داد.
مبانی زبان Python و راهاندازی سیستم عامل
Windows
سه روش نصب در ویندوز وجود دارد:
The Microsoft Store
بسته فروشگاه مایکروسافت: ساده ترین روش نصب در ویندوز شامل نصب از برنامه فروشگاه مایکروسافت است. این برای کاربران مبتدی پایتون توصیه می شود که به دنبال یک تجربه تعاملی با تنظیم آسان هستند.
- نکتهای که در این روش مهم است این است که باید توجه کنید که اگر در ایران هستید بهتر است که تنظیمات بخش «Country or Region» سیستم خود را روی «United states» یا کشوری جز ایران تنظیم کنید. مراحل این کار در ویندوز10 به ترتیب زیر خواهد بود.:
- فشردن همزمان کلیدهای ترکیبی Windows Key + I برای باز شدن Settings ویندوز 10
- ورود به بخش Time & language در Settings
- انتخاب گزینهی «Region» از پنل کناری
- انتخاب «United states» یا کشوری جز ایران از لیست کشویی بخش «Country or Region»
Full Installer
این رویکرد شامل دانلود پایتون به طور مستقیم از وب سایت Python.org است. این برای توسعه دهندگان متوسط و پیشرفته توصیه می شود که در طول فرآیند راه اندازی به کنترل بیشتری نیاز دارند.
زیرسیستم ویندوز برای لینوکس Windows Subsystem for Linux (WSL)
این راهنما به شما نشان می دهد که چگونه یک ت را با استفاده از زیرسیستم ویندوز برای لینوکس نصب کنید.
WSL به شما امکان می دهد یک توزیع لینوکس (مانند Ubuntu، OpenSUSE، Kali، Debian، Arch Linux و غیره) را مستقیماً در ویندوز اجرا کنید. WSL شما را قادر میسازد تا از ابزارهای لینوکس مانند Bash یا Grep، کاملاً یکپارچه با ابزارهای ویندوز مانند PowerShell یا Visual Studio Code، بدون نیاز به بوت دوگانه استفاده کنید.
در واقع از طریق فعال کردن WSL میتوانید به ترمینال لینوکس و کامنتهای لینوکس در محیط ویندوز دسترسی پیدا کنید.
مراحل فعالسازی WSL
پیش نیاز استفاده از WSL این است که از ویندوز 10 نسخه 2004 و بالاتر (Build 19041 and higher) یا ویندوز 11 استفاده کنید.
توجه داشته باشید میتوانید برای بررسی نسخه ویندوز و شماره ساخت، کلیدهای ترکیبی “Windows logo” + “R” را فشرده، و در باکس باز شده کلمهی “winver” را تایپ کرده، و OK را انتخاب کنید. همچنین میتوانید با انتخاب گزینهی
Start > Settings > Update and Security (Windows Update) > Check for updates ویندوزتان را به آخرین نسخه ویندوز بهروز کنید.
اگر از ساخت قدیمیتری استفاده میکنید، یا ترجیح میدهید از دستور نصب استفاده نکنید و میخواهید دستورالعملهای گام به گام را دریافت کنید، مراحل نصب دستی WSL را برای نسخههای قدیمیتر ببینید.
دستور نصب WSL
اکنون میتوانید با وارد کردن این دستور در خط فرمان PowerShell یا Windows Command Prompt و سپس راهاندازی مجدد دستگاه، هر آنچه را که برای اجرای Windows Subsystem برای لینوکس (WSL) نیاز دارید نصب کنید.
wsl --install
این دستور ویژگیهای لازم برای اجرای WSL و نصب توزیع اوبونتو لینوکس را فعال میکند. (این توزیع پیش فرض قابل تغییر است).
اولین باری که یک توزیع لینوکس تازه نصب شده را راهاندازی میکنید، یک پنجره کنسول باز میشود و از شما خواسته میشود منتظر بمانید تا فایلها از حالت فشرده خارج شوند و در دستگاه شما ذخیره شوند. تمام راهاندازی های آینده باید کمتر از یک ثانیه طول بکشد.
توجه داشته باشید که دستور بالا فقط در صورتی کار میکند که WSL اصلاً نصب نشده باشد، اگر wsl –install را اجرا میکنید و متن راهنمای WSL را میبینید، لطفاً wsl –list –online را اجرا کنید تا لیستی از توزیع های موجود را ببینید.
wsl --list --online
همچنین میتوانید از کامند زیر برای نصب یک توزیع مشخص استفاده کنید.
wsl --install -d <DistroName>
برای حذف WSL، به حذف نسخه قدیمی WSL مراجعه کنید یا لغو ثبت یا حذف توزیع لینوکس مراجعه کنید.
همچنین برای تنظیمات دقیقتر و سفارشیسازیهای مورد نیاز نیز میتوانید از این لینک استفاده کنید.
راه اندازی پایتون با Conda
پایتون در سالهای گذشته به طور گسترده برای کاربردهای عددی و علمی (numerical and scientific) مورد استفاده قرار گرفته است. با این حال، برای انجام محاسبات عددی به شیوهای کارآمد، پایتون به کتابخانههای خارجی متکی است که گاهی در زبانهای دیگر پیادهسازی میشوند. همانند کتابخانه NumPy، که تا حدی با استفاده از زبان Fortran پیادهسازی شده است.
با توجه به این وابستگیها (dependencies) ، گاهی اوقات راهاندازی محیطی برای محاسبات عددی که همه کتابخانههای لازم را به هم پیوند میدهد، چندان بیاهمیت نیست. معمولاً افراد در کارگاههایی که شامل استفاده از پایتون برای machine learning میشوند، دچار مشکل میشوند، بهویژه زمانی که از سیستمعاملی استفاده میکنند که فاقد سیستم package manager است، مانند ویندوز(Windows).
Anaconda Powershell Prompt
پس از نصب کوندا در محیط سیستم عامل ویندوز به محیطی مشابه ترمینال ویندوز با نام Anaconda Powershell Prompt دسترسی خواهید داشت. در محیط مذکور میتوانید از کامندهای مشخص کوندا (conda) برای ساخت و مدیریت محیطهای مجازی ایزوله (environment) و مدیریت package ها استفاده کنید.
تدکر مهم : به دلیل این که تعدادی از کتابخانهها و پکیجهای مهم مرتبط با بازارهای مالی در زبان پایتون هنوز با سیستم عامل لینوکس سازگار نیستند اگر هدفی در این حوزه را دنبال میکنید بهتر است که فعلا از گزینه ی نصب و اجرای پایتون از طریق Anaconda Powershell Prompt استفاده شود.
Linux and Mac
اگر در مک یا لینوکس هستید، نیازی به اجرای مراحل فوق را ندارید و صرفا میبایست برای نصب Conda و ساخت Environments اقدام کنید.
چرا به چندین محیط ایزوله (environments) نیاز داریم؟
برنامهها و قطعه کدهای مختلف ممکن است برای اجرا به نسخههای دیگری از پایتون/packageها به غیر از نسخههایی که در حال حاضر استفاده میکنید نیاز داشته باشند. در این صورت باید از محیطهای ایزولهی مختلفی استفاده کنید که environment نام دارند.
جدای از این وضعیت، موارد استفاده بیشتری وجود دارد که داشتن محیط های اضافی ممکن است برای آنها مفید باشند:
مثلا شما برنامه ای دارید (که توسط خودتان یا شخص دیگری ساخته شده است) که زمانی به زیبایی کار می کرد. اما اکنون شما سعی کرده اید آن را اجرا کنید، و کار نمی کند. شاید یکی از پکیج ها دیگر با قسمت های دیگر برنامه شما سازگار نباشد (به دلیل تغییرات به اصطلاح breaking changes). یک راه حل ممکن این است که یک محیط جدید برای برنامه خود راه اندازی کنید که شامل نسخه پایتون و بستههایی باشد که کاملاً با برنامه شما سازگار است.
شما با شخص دیگری همکاری می کنید، و می خواهید مطمئن شوید که برنامه شما روی رایانه اعضای تیم شما کار میکند و بالعکس، بنابراین می توانید محیطی را برای برنامه(های) همکار خود نیز راه اندازی کنید.
شما در حال ارائه یک برنامه به مشتری خود هستید، و دوباره، میخواهید مطمئن شوید که این برنامه به راحتی روی رایانه مشتری شما کار میکند.
یک محیط از یک نسخه پایتون خاص و چند بسته تشکیل شده است. در نتیجه، اگر میخواهید برنامههایی با نیازهای نسخه پایتون یا بسته متفاوت توسعه یا استفاده کنید، باید محیطهای مختلفی را راهاندازی کنید.
اکنون که در مورد اینکه چرا environment ها مفید هستند بحث کردیم، بیایید وارد آن شویم و در مورد برخی از مهمترین جنبههای مدیریت آنها صحبت کنیم.
Package and environment managers
دو ابزار محبوب برای تنظیم environment ها عبارتند از:
- PIP (یک package manager پایتون؛ مخفف «Pip Installs Packages») با virtualenv (ابزاری برای ایجاد محیطهای ایزوله یا در واقع همان environment ها) l
- l (package and environment manager) Conda
مزایای استفاده از Conda
- ساختار روشن(Clear Structure): درک ساختار دایرکتوری آن آسان است
- مدیریت فایل شفاف(Transparent File Management): فایل های خارج از فهرست خود را نصب نمی کند
- انعطاف پذیری(Flexibility): حاوی بسته های زیادی است (بسته های PIP در محیط های Conda نیز قابل نصب هستند)
- چند منظوره(Multipurpose): این ابزار صرفا برای مدیریت محیطها و بستههای پایتون نیست، بلکه میتوانید از آن برای R (زبان برنامهنویسی برای محاسبات آماری) نیز استفاده کنید.
در مقالات بعدی آموزش مبانی زبان Python، مطالب را پی گرفته و بیشتر در مورد package manager ها صحبت خواهیم کرد.
همچنین میتوانید از سسله مقالات آموزش مبانی زبان MQL5 سایت جهان بورس استفاده نمایید.