وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

ایجاد فایل های اجرایی از اسکریپت های پایتون با py2exe

0 125
زمان لازم برای مطالعه: 4 دقیقه


معرفی

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

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

مثال هایی مانند این نشان می دهد که دلیل معتبری برای تبدیل وجود دارد .py برنامه ها به معادل .exe برنامه ها روی پنجره ها. .exe مخفف “فایل اجرایی”که با نام a نیز شناخته می شود دودویی.

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

تبدیل یک کد زبان تفسیر شده به یک فایل اجرایی عملی است که معمولاً نامیده می شود انجماد.

در حال نصب py2exe

برای استفاده از py2exe ماژول، ما باید آن را نصب کنیم. بیایید این کار را با pip:

$ pip install py2exe

تبدیل اسکریپت پایتون به exe

ابتدا بیایید برنامه ای بنویسیم که قرار است print مقداری متن به console:

import math
print("Hannibal ante Portas")
print(factorial(4))

بیایید دستورات زیر را در خط فرمان ویندوز اجرا کنیم تا یک دایرکتوری بسازیم (exampDir، کدی را که قبلاً نوشته بودیم به دایرکتوری مذکور منتقل کنید و در نهایت آن را اجرا کنید:

$ mkdir exampDir
$ move example.py exampDir
$ cd exampDir
$ py example.py

این باید خروجی دهد:

Hannibal ante Portas
24

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

پیشنهاد می‌کنیم بخوانید:  Odoo 11 را روی آن نصب کنید CentOS 7

راه اندازی و پیکربندی

فایل دیگری به نام بسازید setup.py در همان پوشه در اینجا ما جزئیات پیکربندی را حفظ خواهیم کرد روی چگونه می خواهیم برنامه خود را کامپایل کنیم. فعلاً فقط چند خط کد را در آن قرار می دهیم:

from distutils.core import setup 
import py2exe 
import math 

setup(console=('example.py')) 

اگر با اپلیکیشنی با رابط کاربری گرافیکی سروکار داشتیم، آن را جایگزین می‌کردیم console با windows مثل این:

setup(windows=('example.py'))

حالا Command Prompt را باز کنید به عنوان مدیر و به دایرکتوری که به آن اشاره کردیم بروید و آن را اجرا کنید setup.py فایل:

$ cd exampDir
$ python setup.py py2exe

running py2exe
*** searching for required modules ***
*** parsing results ***
...

دور پوشه

اگر همه چیز به درستی انجام شود، باید یک زیر شاخه به نام ایجاد شود dist. در داخل آن بسته به چند فایل مختلف وجود خواهد داشت روی برنامه شما، و یکی از آنها باید باشد example.exe. برای اجرای آن از console اجرا کن:

$ example

و با نقل قول لاتین ما و به دنبال آن مقدار 4 مورد استقبال قرار خواهید گرفت:

Hannibal ante Portas
24

یا، می توانید روی آن دوبار کلیک کنید و در قسمت اجرا شود console.

اگر می‌خواهید همه فایل‌ها را باندل کنید، اضافه کنید bundle_files و compressed، و تنظیم کنید zipfile به هیچکدام مثل این:

from distutils.core import setup
import py2exe

setup(
    options = {'py2exe': {'bundle_files': 1, 'compressed': True}},
    console = ({'script': "example.py"}),
    zipfile = None,
)

و دستورات را دوباره اجرا کنید تا تولید شود exe فایل.

اکنون، کاربران نهایی شما می توانند اسکریپت های شما را بدون هیچ گونه دانش یا پیش نیاز نصب شده اجرا کنند روی ماشین های محلی آنها

پیشنهاد می‌کنیم بخوانید:  دو دیکشنری پایتون را در یک عبارت ادغام کنید

عیب یابی

خطا در هنگام تبدیل .py فایل ها به .exe فایل ها رایج هستند، بنابراین ما برخی از اشکالات و راه حل های رایج را فهرست می کنیم.

روش رفع DLL های از دست رفته پس از استفاده از py2exe

یک مسئله رایج با py2exe گم شده است .dll-s.

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

پس از اجرای .exe، اگر یک خطای سیستمی دریافت کردید که چیزی شبیه به:

The program can't start because something.dll is missing from your computer. Try reinstalling the program to fix this problem. 

یا خط فرمان می گوید:

ImportError: (DLL load failed: The specified module could not be found.)

راه حل، یافتن گمشده است .dll و آن را در خود بگذرانید دور پوشه دو راه برای انجام این کار وجود دارد.

  1. فایل را در رایانه خود جستجو کنید و سپس آن را کپی کنید. این در بیشتر مواقع کار خواهد کرد.
  2. گمشده را پیدا کنید .dll آنلاین و دانلود کنید. سعی کنید آن را از برخی از وب سایت های سایه دانلود نکنید.

چگونه با استفاده از py2exe فایل های اجرایی 32/64 بیتی تولید کنیم؟

برای ایجاد یک فایل اجرایی 64 بیتی، پایتون 64 بیتی را نصب کنید روی دستگاه شما در مورد نسخه 32 بیتی هم همینطور.

روش استفاده از py2exe روی لینوکس یا مک

py2exe پشتیبانی نمی کند روی لینوکس یا مک، همانطور که قصد ایجاد آن را دارد exe فایل هایی که فرمت منحصر به فرد ویندوز هستند. می توانید ماشین مجازی ویندوز را دانلود کنید روی هر دو مک و لینوکس، از Wine استفاده کنید یا از ابزار دیگری مانند استفاده کنید Pyinstaller روی لینوکس یا py2app روی مک.

نتیجه

برای سهولت اجرای پروژه های پایتون روی دستگاه های ویندوز، ما باید یک فایل اجرایی تولید کنیم. ما می توانیم از ابزارهای مختلفی استفاده کنیم، مانند Pyinstaller، خودکار-py-به exe، cx_Freeze، و py2exe.

فایل های باینری ممکن است از DLL-ها استفاده کنند، بنابراین مطمئن شوید که آنها را در پروژه خود قرار دهید.

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-14 03:32:12

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید