هذه حزمة تعريفية لإنشاء إصدار من Python يمكن تضمينه في مشروع macOS أو iOS أو tvOS أو watchOS.
يبني هذا الفرع نسخة مجمعة من Python 3.13 . تتوفر إصدارات بايثون الأخرى عن طريق استنساخ الفروع الأخرى للمستودع الرئيسي:
إنه يعمل عن طريق تنزيل وتصحيح وبناء ثنائي كبير من Python ومتطلبات مسبقة محددة، وتعبئتها كأطر عمل يمكن دمجها في مشروع XCode. يتم توزيع الوحدات الثنائية في مكتبة Python القياسية كثنائيات يمكن تحميلها ديناميكيًا في وقت التشغيل.
حزمة macOS عبارة عن إعادة تجميع لثنائي macOS الرسمي، وتم تعديلها بحيث يمكن نقلها، مع إزالة حزم IDLE وTkinter وTurtle، وتطبيق تصحيح الامتثال لـ App Store.
تستخدم حزم iOS وtvOS وwatchOS التي تم تجميعها بواسطة هذا المشروع كود PEP 730 الرسمي الذي يعد جزءًا من Python 3.13 لتوفير دعم iOS؛ تم إرجاع التصحيحات ذات الصلة إلى الإصدار 3.9-3.12. تم تطبيق تصحيحات إضافية لإضافة دعم tvOS وwatchOS.
تدعم الثنائيات x86_64 وarm64 لنظام التشغيل macOS؛ وarm64 لأجهزة iOS وAppleTV؛ وarm64_32 لأجهزة watchOS. كما أنه يدعم أجهزة محاكاة الأجهزة على كل من أجهزة x86_64 وM1. يجب أن يؤدي هذا إلى تمكين تشغيل الكود على:
الطريقة الأسهل لاستخدام هذه الحزم هي إنشاء مشروع باستخدام حقيبة الملفات. ستقوم حقيبة الملفات بتنزيل الإصدارات المجمعة مسبقًا من حزم الدعم هذه، وإضافتها إلى مشروع Xcode (أو تطبيق كعب الروتين المُنشأ مسبقًا، في حالة نظام التشغيل macOS).
يمكن تنزيل الإصدارات المعدة مسبقًا من أطر العمل من صفحة إصدارات Github وإضافتها إلى مشروعك.
بدلاً من ذلك، لإنشاء الأطر بنفسك، قم بتنزيل/استنساخ هذا المستودع، ثم في الدليل الجذر، وقم بتشغيل:
make
(أو make all
) لبناء كل شيء.make macOS
لإنشاء كل شيء لنظام macOS.make iOS
لبناء كل شيء لنظام iOS.make tvOS
لبناء كل شيء لنظام tvOS.make watchOS
لبناء كل شيء لـ watchOS.يجب أن:
سيتم تجميع حزم الدعم الناتجة كملف .tar.gz
في المجلد dist
.
تحتوي كل حزمة دعم على:
VERSIONS
، ملف نصي يصف الإصدارات المحددة من التعليمات البرمجية المستخدمة لبناء حزمة الدعم؛platform-site
، وهو مجلد يحتوي على نصوص برمجية لتخصيص الموقع يمكن استخدامها لجعل تثبيت Python المحلي الخاص بك يبدو وكأنه تثبيت على الجهاز لكل من البنى المستهدفة الأساسية التي يدعمها النظام الأساسي. يعد هذا ضروريًا لأنه عند تشغيل pip
ستكون على جهاز macOS ببنية محددة؛ إذا حاول pip
تثبيت حزمة ثنائية، فسوف يقوم بتثبيت عجلة macOS الثنائية (والتي لن تعمل على iOS/tvOS/watchOS). ومع ذلك، إذا قمت بإضافة مجلد platform-site
إلى PYTHONPATH
الخاص بك عند استدعاء النقطة، فإن تخصيص الموقع سيجعل platform
تثبيت Python الخاص بك يعود واستجابات sysconfig
متسقة مع السلوك على الجهاز، مما سيؤدي إلى pip
بتثبيت الحزم المناسبة للنظام الأساسي.Python.xcframework
، بناء متعدد البنى لمكتبة وقت تشغيل Python في iOS/tvOS/watchOS، يحتوي Python.xcframework
على شريحة لكل ABI مدعوم (جهاز ومحاكي). يمكن أيضًا استخدام المجلد الذي يحتوي على الشريحة باعتباره PYTHONHOME
، لأنه يحتوي على دليل bin
و include
و lib
.
لا يحتوي مجلد bin
على ملفات Python القابلة للتنفيذ (حيث لا يمكن استدعاؤها). ومع ذلك، فهو يحتوي على أسماء مستعارة لـ Shell للمترجمين اللازمين لبناء الحزم. يعد هذا مطلوبًا لأن Xcode يستخدم الاسم المستعار xcrun
لإنشاء اسم الثنائيات ديناميكيًا، لكن الكثير من أدوات لغة C تتوقع أن CC
لن تحتوي على مسافات.
للحصول على تعليمات مفصلة حول استخدام حزمة الدعم في مشروعك الخاص، راجع دليل الاستخدام
يحزم هذا المشروع مكتبة بايثون القياسية، لكنه لا يتناول بناء العجلات الثنائية. يمكن الحصول على العجلات الثنائية لنظام التشغيل macOS من PyPI. Mobile Forge هو مشروع يوفر الأدوات اللازمة لإنشاء عجلات ثنائية لنظام التشغيل iOS (وربما لنظامي tvOS وwatchOS، على الرغم من عدم اختبار ذلك).
تم دعم الإصدارات التالية في الماضي، ولكن لم تعد تتم صيانتها: