استخدام PyInstaller لتوزيع تطبيقات Python بسهولة

ما هو استخدام PyInstaller؟

يقرأ PyInstaller Python نصًا كتبته أنت. يقوم بتحليل التعليمات البرمجية الخاصة بك لاكتشاف كل وحدة ومكتبة أخرى يحتاجها البرنامج النصي الخاص بك من أجل التنفيذ. ثم يقوم بجمع نسخ من كل هذه الملفات - بما في ذلك مترجم Python النشط!

لماذا تستخدم Pyinstaller لحزمة Python؟

يستخدم PyInstaller لحزم Python كود في تطبيقات مستقلة قابلة للتنفيذ لأنظمة تشغيل مختلفة. يأخذ Python سكربت وينشئ ملف تنفيذي واحد يحتوي على جميع التبعيات الضرورية ويمكن تشغيله على أجهزة الكمبيوتر التي لم يتم تثبيت Python عليها. وهذا يسمح بسهولة توزيع ونشر Python تطبيقات ، حيث لا يحتاج المستخدم إلى Python وأي وحدات نمطية مطلوبة مثبتة على نظامهم من أجل تشغيل التطبيق. بالإضافة إلى ذلك ، يمكن أيضًا استخدام PyInstaller لإنشاء ملفات تنفيذية ذات ملف واحد ، وهي ملفات فردية قابلة للتنفيذ تحتوي على جميع التبعيات المطلوبة للتطبيق. يمكن أن يسهل هذا توزيع التطبيق ، حيث يحتاج المستخدم فقط إلى تنزيل ملف واحد.

كيفية تثبيت PyInstaller

يتوفر PyInstaller كحزمة Python عادية. أرشيفات المصدر للإصدارات التي تم إصدارها متوفرة منPyPi ، ولكن من الأسهل تثبيت أحدث إصدار باستخدامنقطة:

C:\> pip install pyinstaller

لترقية تثبيت PyInstaller الحالي إلى أحدث إصدار ، استخدم:

C:\> pip install --upgrade pyinstaller
لتثبيت إصدار التطوير الحالي ، استخدم:
C:\> pip install https://github.com/pyinstaller/pyinstaller/tarball/

كيف أقوم بإنشاء EXE باستخدام PyInstaller

سنأخذ ملف python واحد كمثال لشرح خطوات التغليف بالتفصيل ، خذ Python 3.11.0 كمثال بعد التثبيتaspose.cells.

  1. قم بإنشاء ملف عينة Python باسمexample.py.
    import os
    from jpype import *
    
    __cells_jar_dir__ = os.path.dirname(__file__)
    addClassPath(os.path.join(__cells_jar_dir__, "aspose-cells-23.1.jar"))
    addClassPath(os.path.join(__cells_jar_dir__, "bcprov-jdk15on-160.jar"))
    addClassPath(os.path.join(__cells_jar_dir__, "bcpkix-jdk15on-1.60.jar"))
    addClassPath(os.path.join(__cells_jar_dir__, "JavaClassBridge.jar"))
    
    import jpype
    import asposecells
    jpype.startJVM()
    from asposecells.api import Workbook, FileFormatType, CellsHelper
    
    print(CellsHelper.getVersion())
    workbook = Workbook(FileFormatType.XLSX)
    workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World")
    workbook.save("output.xlsx")
    
    jpype.shutdownJVM()
  2. أنشئ مجلدًا باسم c: \ app ، وانسخ example.py (مرفق) إلى c: \ app.
  3. افتح موجه الأوامر الخاص بك وقم بتشغيل الأمر pyinstaller example.py.
    C:\app> pyinstaller example.py
  4. انسخ البرطمانات (aspose-cells-xxx.jar، bcprov-jdk15on-160.jar، bcpkix-jdk15on-1.60.jar، JavaClassBridge.jar. وهي موجودة في المجلد C: \ Python311 \ Lib \ site -pack \ asposecells \ lib ) إلى c: \ app.
  5. قم بتحرير الملف بلاحقة المواصفات لإضافة قسم البيانات مثلexample.spec. ما يجب القيام به: image_alt_text
  6. قم بتشغيل pyinstaller example.spec في نافذة موجه الأوامر.
    C:\app> pyinstaller example.spec
  7. قم بتبديل الدليل إلى C: \ app \ dist \ example ، وستجد ملف example.exe.