هذه حزمة تعريفية لإنشاء إصدار من 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، على الرغم من عدم اختبار ذلك).
تم دعم الإصدارات التالية في الماضي، ولكن لم تعد تتم صيانتها: