آشنایی با پکیج Pyinstaller

  • حسین طاهری
  • 1401/08/05
آشنایی با پکیج Pyinstaller
پایتون, برنامه نویسی

مقدمه

حتما تا به حال دقت کرده اید که اگر نرم افزاری نصب کنید و سپس به محل نصب آن بروید با چندین پوشه و فایل مختلف و نهایتا یک فایل اجرایی ( در ویندوز .exe ) مواجه می شوید که با اجرای آن نرم افزار اجرا می شود. نرم افزار های مختلفی که ما نصب می کنیم با زبان های برنامه نویسی مختلفی نوشته می شوند ولی ما برای نصب و اجرای آن نرم افزار ها اغلب نیاز به نصب یک زبان برنامه نویسی دیگر روی سیستم خود نداریم.

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

هدف Pyinstaller

هدف این پکیج تبدیل یک برنامه / پروژه پایتون به صورت یک برنامه نصب شده قابل اجرا است که برای اجرا این برنامه نیازی به نصب بودن پایتون نیست.

شروع کار

می خواهیم یک مار بازی که به زبان پایتون و با پکیج pygame نوشته شده است را به صورت یک بازی نصب شده تبدیل کنیم. می توانید مار بازی را از git repository زیر clone یا دانلود کنید.

https://github.com/hadiMh/Snake_Game

بعد از دانلود بازی پوشه ی بازی را باز کنید و یک محیط مجازی ( virtualenv ) در کنار فایل های پروژه ایجاد کنید و آنرا فعال کنید. سپس پکیج های pygame ( نیاز این پروژه ) و pyinstaller ( برای کار با pyinstaller ) را نصب کنید.

pip install pygame pyinstaller

اکنون می توانید با روشی که از قبل می شناختیم، بازی را اجرا کنیم.

python game.py

حال برای اینکه بازی بصورت نصب شده در آید و مستقل از پایتون در هر سیستمی قابل اجرا باشد، با دستور زیر و با استفاده از pyinstaller، می توانیم بازی را به حالت نصب شده در بیاوریم.

pyinstaller game.py

 بعد از اجرای این دستور باید کمی صبر کنیم تا pyinstaller پروژه را به حالت نصب شده تبدیل کند. بعد از اتمام کار pyinstaller مشاهده می کنیم که چندین فایل و پوشه ی جدید در پوشه ی اصلی پروژه ایجاد شده است. پوشه ی اصلی ایجاد شده dist نام دارد که داخل آن یک پوشه به نام game و داخل آن پوشه چندین فایل قرار دارد که فایل اجرایی ما را نیز به اسم game.exe شامل می شود. اکنون با کلیک بر روی آن، بازی ما اجرا می شود. بعد از اجرای بازی احتمالا متوجه می شوید که همراه آن cmd یا همان console نیز در ویندوز باز می شود. خب طبیعی است که برای یک برنامه ی گرافیکی اکثرا نیاز به console نداریم. کاری که می توان انجام داد این است که هنگام تبدیل پروژه به برنامه ی نصب شده به pyinstaller بگوییم که نیازی به console نداریم.

برای اینکار نیاز هست تا فرایند نصب پروژه مجددا اما با یک تغییر جزیی تکرار کنیم. دستور زیر را در cmd وارد کنید.

pyinstaller –noconsole game.py

بعد از اینتر زدن از شما سوالی می پرسد که آیا نصب قبلی با نصب جدید جایگزین شود که شما باید y را وارد کرده و enter بزنید. اکنون بازی بدون باز شدن console اجرا خواهد شد. چیزی که به دستور قبلی اضافه شد عبارت (flag) noconsole بود که یک تنظیم یا flag است برای pyinstaller که با استفاده از آن pyinstaller متوجه می شود که ما به console نیاز نداریم.

شما می توانید لیست تنظیمات و امکانات مختلف pyinstaller را در صفحه ی مستندات رسمی خود پکیج برای شخصی سازی بیشتر مشاهده نمایید.

https://pyinstaller.org/en/stable/usage.html

حال می توانید با کپی کردن پوشه ی dist بازی را با دیگران به اشتراک بگذارید.

 

اگر فکر می کنید که ما چیزی را در این مقاله جا انداخته ایم و یا در مورد پست های بعدی ایده و یا نظری دارید، خوشحال می شویم که این مورد را با ما در میان بگذارید. تنها کافیست روی دکمه زیر کلیک کنید و پیشنهاد خود را ارسال کنید.

ارسال نظر :
این نام در کامنت ها و پروفایل عمومی شما نمایش داده خواهد شد.