نظرة عامة على برنامج PyInstaller
يجمع PyInstaller تطبيق Python وجميع تبعياته في حزمة واحدة. يمكن للمستخدم تشغيل التطبيق المعبأ دون تثبيت مترجم Python أو أي وحدات.
التوثيق: | https://pyinstaller.org/ |
---|
شفرة: | https://github.com/pyinstaller/pyinstaller |
---|
يقرأ PyInstaller نص Python الذي كتبته بنفسك. يقوم بتحليل التعليمات البرمجية الخاصة بك لاكتشاف كل وحدة ومكتبة أخرى يحتاجها البرنامج النصي الخاص بك من أجل التنفيذ. ثم يقوم بجمع نسخ من كل تلك الملفات - بما في ذلك مترجم بايثون النشط! - ويضعها مع البرنامج النصي الخاص بك في مجلد واحد، أو بشكل اختياري في ملف واحد قابل للتنفيذ.
تم اختبار PyInstaller ضد أنظمة التشغيل Windows وmacOS وGNU/Linux. ومع ذلك، فهو ليس مترجمًا مشتركًا: لإنشاء تطبيق Windows، عليك تشغيل PyInstaller في Windows؛ لإنشاء تطبيق GNU/Linux، عليك تشغيله في GNU/Linux، وما إلى ذلك. تم استخدام PyInstaller بنجاح مع AIX، وSolaris، وFreeBSD، وOpenBSD، ولكن لم يتم اختباره ضدهم كجزء من اختبارات التكامل المستمر.
المزايا الرئيسية
- يعمل خارج الصندوق مع أي إصدار Python 3.8-3.13.
- متعدد المنصات بالكامل، ويستخدم دعم نظام التشغيل لتحميل المكتبات الديناميكية، وبالتالي ضمان التوافق الكامل.
- يجمع بشكل صحيح حزم Python الرئيسية مثل numpy وPyQt5 وPySide2 وPyQt6 وPySide6 وwxPython وmatplotlib وغيرها من الحزم الجاهزة.
- متوافق مع العديد من حزم الجهات الخارجية الجاهزة للاستخدام. (تم بالفعل دمج جميع الحيل المطلوبة لتشغيل الحزم الخارجية.)
- يعمل مع توقيع التعليمات البرمجية على نظام التشغيل macOS.
- حزم MS Visual C++ DLLs على نظام التشغيل Windows.
تثبيت
PyInstaller متاح على PyPI. يمكنك تثبيته من خلال النقطة:
المتطلبات والمنصات التي تم اختبارها
- بايثون:
- 3.8-3.13. لاحظ أن Python 3.10.0 يحتوي على خطأ مما يجعله غير قابل للدعم بواسطة PyInstaller. لن يعمل PyInstaller أيضًا مع الإصدارات التجريبية من Python 3.14.
- ويندوز (32 بت/64 بت/ARM64):
- من المفترض أن يعمل PyInstaller على نظام التشغيل Windows 7 أو الإصدارات الأحدث، ولكننا ندعم نظام التشغيل Windows 8+ رسميًا فقط.
- يتطلب دعم Python المثبت من متجر Windows دون استخدام البيئات الافتراضية PyInstaller 4.4 أو إصدار أحدث.
- لينكس:
- توزيعات GNU libc على البنيات
x86_64
و aarch64
و i686
و ppc64le
و s390x
. - توزيعات musl libc على البنيات
x86_64
و aarch64
. - ldd: تطبيق وحدة التحكم لطباعة المكتبات المشتركة التي يتطلبها كل برنامج أو مكتبة مشتركة. يمكن العثور على هذا عادةً في حزمة التوزيع glibc أو libc-bin.
- objdump: تطبيق وحدة التحكم لعرض المعلومات من ملفات الكائنات. يمكن العثور على هذا عادةً في binutils لحزمة التوزيع.
- objcopy: تطبيق وحدة التحكم لنسخ ملفات الكائنات وترجمتها. يمكن العثور على هذا عادةً في binutils لحزمة التوزيع أيضًا.
- يجب على مستخدمي Raspberry Pi على
armv5
- armv7
إضافة piwheels كعنوان url إضافي للفهرس ثم pip install pyinstaller
كالمعتاد.
- ماك (
x86_64
أو arm64
): - نظام التشغيل macOS 10.15 (كاتالينا) أو الأحدث.
- يدعم بناء تطبيقات
universal2
بشرط أن يتم أيضًا تجميع تثبيت Python وجميع التبعيات الخاصة بك universal2
.
الاستخدام
الاستخدام الأساسي بسيط جدًا، ما عليك سوى تشغيله على البرنامج النصي الرئيسي لديك:
pyinstaller /path/to/yourscript.py
لمزيد من التفاصيل، راجع الدليل.
منصات لم يتم اختبارها
تمت المساهمة بالمنصات التالية ونرحب بأي تعليقات أو تحسينات عليها.
- فري بي إس دي
- سولاريس
- إيكس
- AIX 6.1 أو أحدث. لن يعمل PyInstaller مع مكتبات Python المرتبطة بشكل ثابت.
- ldd
- Linux على أي مجموعة تنفيذ/بنية Libc أخرى غير مدرجة أعلاه.
قبل استخدام أي منصة مساهمة، تحتاج إلى إنشاء أداة تحميل التشغيل PyInstaller. سيحدث هذا تلقائيًا عند تثبيت pip install pyinstaller
بشرط أن يكون لديك مترجم C مناسب (عادةً gcc
أو clang
) ورؤوس تطوير zlib مثبتة بالفعل.
يدعم
- دليل التصحيح الرسمي: https://pyinstaller.org/en/v6.11.1/when-things-go-wrong.html
- مواضيع مساعدة متنوعة ساهم بها المستخدم: https://github.com/pyinstaller/pyinstaller/wiki
- منتديات الأسئلة والأجوبة على الويب: https://github.com/pyinstaller/pyinstaller/discussions
- منتديات الأسئلة والأجوبة القائمة على البريد الإلكتروني: https://groups.google.com/g/pyinstaller
التغييرات في هذا الإصدار
يمكنك العثور على قائمة مفصلة بالتغييرات في هذا الإصدار في قسم سجل التغيير بالدليل.