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

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

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

لماذا استخدام Pyinstaller لتعبئة Python؟

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

كي�ية تثبيت PyInstaller

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

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-packages\asposecells\lib) إلى c:\app.
  5. عدل المل� باسم اللاحقة spec لإضا�ة قسم البيانات مثل example.spec. todo:image_alt_text
  6. قم بتشغيل pyinstaller example.spec �ي نا�ذة موجه الأوامر.
    C:\app> pyinstaller example.spec
  7. انتقل إلى الدليل C:\app\dist\example، وستجد مل� example.exe.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.