قالب وردپرس درنا توس
اطـلاعیه بـروزرسانی و تـخفیف هـای ویژه سـایت :
خانه - آموزش پایتون - اجرای یک پروژه

اجرای یک پروژه

اجرای سورس کد

در حالت کلی به دو شیوه می‌توان به زبان پایتون کد نوشت و اجرا نمود:

۱-به حالت تعاملی (Interactive) با مفسر پایتون

در حالت تعاملی ابتدا باید مفسر پایتون فراخوانی شود ( با دستورPython<). در این حالت هر کدی که وارد می شود بلافاصله اجرا و نتیجه ان نمایش داده می شود. هم چنین امکاان برگشت و ویرایش کدها وجود ندارد. لذا این حالت زیاد کارامد نبوده و فقط برای گرفتن نتیجه قطعی بخش های کوچک کد و ماشین حساب استفاده می گردد. شکل ۱ حالت تعاملی پایتون را نمایش می دهد.

شکل ۱

۲- ایجاد اسکریپت پایتون:

همانطور که قبلا اشاره شده است، اسکریپت ماژولی است که برای اجرای سورس کد توسعه یافته استفاده می شود. برای اجرای اسکریپت می‌بایست دستور فراخوانی مفسر پایتون را به همراه نام کامل اسکریپت (نشانی + نام + پسوند) وارد نمود. شکل ۲ نتیجه اجرای اسکریپت های بخش پیشین را نمایش می دهد.

شکل ۲

نکته: با دقت در شکل متوجه تفاوت خروجی های دو نسخه می شویم. در نسخه ۲x حاصل تقسیم دو عدد صحیح (Integer) را به صورت یک عدد صحیح محاسبه و از مقدار بعد از ممیز (در صورت وجود) صرف نظر می‌کند ولی نسخه ۳x پایتون  همواره حاصل تقسیم را به صورت یک عدد اعشاری بر می‌گرداند.

نکته: اگر کاربر سیستم عامل ویندوز هستید توجه داشته باشید که به دلیل وجود کاراکترهای خاصی (÷ و ×) که قرار است توسط print نمایش داده شوند و همچنین عدم پشتیبانی پیش‌فرض خط فرمان ویندوز از کدگذاری UTF-8، به هنگام اجرای اسکریپت خطایی گزارش می‌شود که ارتباطی با کد پایتون ندارد. در این مواقع پبهتر است از پایتون  ۳xو برنامه PowerShell استفاده شود. همچنین پیش از اجرای اسکریپت دستور chcp 65001  را وارد نمایید (شکل۳)

شکل ۳

 

برای پایتون نیز مانند هر زبان پر کاربرد دیگری تعداد زیادیIDE  توسعه داده شده است.IDE  یا Integrated development environment  به ابزارهایی گفته می‌شود که علاوه‌بر یک ویرایشگر متن پیشرفته، امکانات بسیار کاربردی دیگری را نیز به مانند دیباگر (Debugger) در اختیار برنامه‌نویس قرار می‌دهد. نمونه هایی از IDE های مطرح عبارتند از:

  • PyDev : یک IDE کامل، متن باز و رایگان است که برای پلتفرمEclipse  ارایه می‌شود.
  • PyCharm : محصولی از شرکت فوق‌العاده JetBrains است که البته نسخه کامل آن فروشی است ولی نسخه کامیونیتی (Community) آن رایگان و متن باز می‌باشد که از بسیاری ویژگی‌ها و امکانات ویژه برخوردار است.(مقایسه نسخه‌ها)
  • NetBeans : یک IDE کامل، متن باز و رایگان است که طرفداران بسیاری دارد. NetBeans به صورت پیش‌فرض از پایتون پشتیبانی نمی‌کند و باید پلاگین مربوط به آن نصب گردد.(صفحه راهنمای نصب)

پشت صحنه اجرا

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

شکل ۴

بایت‌کد هر ماژول‌ پایتون در قالب فایلی با پسوند pyc که یاد‌آور py Compiled است، در یک زیردایرکتوری با نام __pycache__ داخل همان دایرکتوری ماژول ذخیره می‌گردد و نام گذاری آن نیز با توجه به نام ماژول و نسخه‌ مفسر پایتون مورد استفاده، انجام می‌گیرد (نمونهmodule.cpython-34.pyc ). مفسر پایتون از این فایل ذخیره شده جهت افزایش سرعت اجرا در آینده بهره خواهد برد؛ به این صورت که در نوبت‌های بعدی اجرا چنانچه تغییری در کدهای ماژول یا نسخه‌ مفسر پایتون صورت نگرفته باشد، مفسر با بارگذاری فایل بایت‌کد از کامپایل مجدد سورس کد به بایت‌کد صرف نظر می‌کند.

نکته: مفسر پایتون تنها برای ماژول‌های وارد شده در اسکریپت اقدام به ذخیره کردن فایل بایت‌کد بر روی دیسک می‌کند و برای اسکریپت‌ این عمل صورت نمی‌گیرد. بایت‌کد سورس کدهایی که تنها شامل یک اسکریپت هستند در حافظه‌ (Memory) نگهداری می‌شود.

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

نکته: در نسخه‌های پیش از ۳٫۲، دایرکتوری __pycache__ ایجاد نمی‌گردد و فایل بایت‌کد با نامی برابر نام ماژول و در همان دایرکتوری قرار داده می‌شود (نمونه(module.pyc در این شیوه قدیمی علاوه بر وجود بی‌نظمی در میان فایل‌ها، تمایز بین ترجمه‌ نسخه‌های متفاوت مفسر پایتون نیز ممکن

ایجاد محیط مجازی:

حالتی را در نظر بگیرید که در ایجاد پروژه‌های مختلف به نسخه‌های متفاوتی از برخی کتابخانه‌ها نیاز دارید؛ برای نمونه، فرض نمایید می‌خواهیم بر روی توسعه دو وب‌سایت؛ یکی توسط نسخه جدید (۱٫۸) وب فریم‌ورک جنگو (Django)  و دیگری بر روی یک نسخه قدیمی (۰٫۹۶) از آن کار کنیم، ولی نمی‌توانیم!؛ زیرا که نمی‌شود هر دوی این نسخه‌ها را با هم در پایتون (دایرکتوری site-packages ) نصب داشت. در این وضعیت راه حل ایجاد محیط‌هایی مجازی (Virtual Environments) برای توسعه پروژه‌های مورد نظر است؛ محیطی که توسعه و اجرای هر پروژه پایتون را به همراه تمام وابستگی‌های (Dependencies) آن از پروژه‌های دیگر جدا یا ایزوله (isolate) می‌کند. در ادامه به بررسی دو ابزار رایج در این رابطه می‌پردازیم.

virtualenv

در اینجا برای نصبvirtualenv  (ویرچوال اِنو) از pip استفاده می‌کنیم. پیش از شروع هر نصبی بهتر است pip را آپدیت نماییم؛ این مراحل را در سیستم عامل گنو لینوکس به صورت پایین دنبال می‌کنیم:

شکل ۵

نصب  virtualenv:

شکل ۶

نکته: چنانچه بر روی سیستم عاملی هر دو نسخه۲x  یا ۳x  نصب است؛ این موضوع که virtualenv را توسط pip کدام نسخه نصب نمایید، اهمیت چندانی ندارد. چرا که امکان استفاده از آن برای دیگر نسخه‌ها نیز وجود دارد.

اکنون برای ایجاد یک محیط مجازی از دستور virtualenv ENV  استفاده می‌شود که منظور از ENV  در آن، نشانی دایرکتوری دلخواهی است که قصد داریم محیط مجازی در آن ایجاد گردد(شکل ۷):

شکل ۷

دستور بالا موجب ایجاد یک محیط مجازی در مسیر /Documents/SampleENV  سیستم عامل، بر پایه مفسر پایتونی که از pip آن برای نصب virtualenv استفاده کردیم می‌شود و چنانچه بخواهیم محیط مجازی خود را بر پایه‌ نسخه‌ موجود دیگری از پایتون ایجاد نماییم، لازم است با استفاده از گزینه python–  نشانی مفسر آن مشخص گردد (شکل ۸):

شکل ۸

در نمونه کد‌ بالا، نسخه‌های ۲٫۷ و ۳٫۴ پایتون از پیش بر روی سیستم عامل نصب بوده و نسخه ۳٫۳ توسط کاربر در مسیر opt/python3.3/  نصب شده است.

مثالی دیگر برای کاربران ویندوز:

شکل ۹

اکنون می‌توانیم در پروژه خود به کتابخانه‌ها، pip، دایرکتوری site-packages و مفسری اختصاصی دسترسی داشته باشیم. البته پیش از شروع کار با یک محیط مجازی می‌بایست آن را  (فعال active) و پس از اتمام کار نیز آن را deactivate) غیر فعال) نماییم. فعال کردن در اینجا به معنای تنظیم متغیر Path سیستم عامل بر روی مفسر محیط مجازی مورد نظر است که با غیر فعال کردن، این وضعیت از بین می‌رود.

·  pyvenv

در نسخه‌های ۳x پایتون و از ۳٫۳ به بعد ماژولی با نام venv  برای ایجاد محیط مجازی به کتابخانه استاندارد پایتون افزوده شده است که می‌توان از آن به جای نصب virtualenv استفاده نمود؛ برای این منظور از دستور (pyvenv پای وی اِنو) و با الگویی مشابه pyvenv ENV  استفاده می‌گردد.

راه های ارتباطی با گروه برنامه نویسان آرک پای:

سایت: Arcpy.ir

کانال تلگرامt.me/Arcpy

درباره ی مهدیه کلانتری

دیدگاهتان را بنویسید