นี่คือแพ็คเกจเมตาสำหรับการสร้างเวอร์ชันของ Python ที่สามารถฝังลงในโปรเจ็กต์ macOS, iOS, tvOS หรือ watchOS
สาขานี้สร้างเวอร์ชันแพ็คเกจของ Python 3.13 Python เวอร์ชันอื่นๆ พร้อมใช้งานโดยการโคลนสาขาอื่นๆ ของที่เก็บหลัก:
ทำงานโดยการดาวน์โหลด การแพตช์ และสร้างไบนารี่ขนาดใหญ่ของ 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 สิ่งนี้ควรเปิดใช้งานโค้ดให้ทำงานบน:
วิธีที่ง่ายที่สุดในการใช้แพ็คเกจเหล่านี้คือการสร้างโปรเจ็กต์ด้วย Briefcase Briefcase จะดาวน์โหลดแพ็คเกจสนับสนุนเวอร์ชันที่คอมไพล์ไว้ล่วงหน้า และเพิ่มลงในโปรเจ็กต์ Xcode (หรือแอปพลิเคชัน stub ที่สร้างไว้ล่วงหน้า ในกรณีของ macOS)
สามารถดาวน์โหลดเฟรมเวิร์กเวอร์ชันที่สร้างไว้ล่วงหน้าได้จากหน้าเผยแพร่ Github และเพิ่มลงในโปรเจ็กต์ของคุณ
อีกทางหนึ่ง หากต้องการสร้างเฟรมเวิร์กด้วยตนเอง ให้ดาวน์โหลด/โคลนพื้นที่เก็บข้อมูลนี้ จากนั้นในไดเร็กทอรีราก และรัน:
make (หรือ make all ) เพื่อสร้างทุกสิ่งmake macOS สร้างทุกอย่างสำหรับ macOSmake iOS สร้างทุกอย่างสำหรับ iOSmake tvOS สร้างทุกอย่างสำหรับ tvOSmake watchOS เพื่อสร้างทุกอย่างสำหรับ watchOSสิ่งนี้ควร:
แพ็คเกจการสนับสนุนที่ได้จะถูกรวมเป็นไฟล์ .tar.gz ในโฟลเดอร์ dist
แต่ละแพ็คเกจการสนับสนุนประกอบด้วย:
VERSIONS ไฟล์ข้อความที่อธิบายเวอร์ชันเฉพาะของโค้ดที่ใช้ในการสร้างแพ็คเกจการสนับสนุนplatform-site ซึ่งเป็นโฟลเดอร์ที่มีสคริปต์การปรับแต่งไซต์ที่สามารถใช้เพื่อทำให้การติดตั้ง Python ในเครื่องของคุณดูเหมือนเป็นการติดตั้งบนอุปกรณ์สำหรับสถาปัตยกรรมเป้าหมายแต่ละรายการที่รองรับโดยแพลตฟอร์ม สิ่งนี้จำเป็นเพราะเมื่อคุณรัน pip คุณจะอยู่บนเครื่อง macOS ที่มีสถาปัตยกรรมเฉพาะ หาก pip พยายามติดตั้งแพ็คเกจไบนารี มันจะติดตั้งวงล้อไบนารีของ macOS (ซึ่งจะใช้งานไม่ได้บน iOS/tvOS/watchOS) อย่างไรก็ตาม หากคุณเพิ่มโฟลเดอร์ platform-site ลงใน PYTHONPATH ของคุณเมื่อเรียกใช้ pip การปรับแต่งไซต์จะทำให้ platform การส่งคืนการติดตั้ง Python และการตอบสนอง sysconfig ของคุณสอดคล้องกับพฤติกรรมบนอุปกรณ์ ซึ่งจะทำให้ pip ติดตั้งแพ็คเกจที่เหมาะสมกับแพลตฟอร์มPython.xcframework ซึ่งเป็นบิวด์แบบหลายสถาปัตยกรรมของไลบรารีรันไทม์ Python บน iOS/tvOS/watchOS นั้น Python.xcframework จะมีส่วนสำหรับ ABI แต่ละตัวที่รองรับ (อุปกรณ์และตัวจำลอง) โฟลเดอร์ที่มีสไลซ์ยังสามารถใช้เป็น PYTHONHOME ได้ เนื่องจากมีไดเร็กทอรี bin , include และ lib
โฟลเดอร์ bin ไม่มีไฟล์ปฏิบัติการ Python (เนื่องจากไม่สามารถเรียกใช้ได้) อย่างไรก็ตาม มัน มี นามแฝงของเชลล์สำหรับคอมไพเลอร์ที่จำเป็นในการสร้างแพ็คเกจ สิ่งนี้จำเป็นเนื่องจาก Xcode ใช้นามแฝง xcrun เพื่อสร้างชื่อของไบนารีแบบไดนามิก แต่เครื่องมือ C จำนวนมากคาดว่า CC จะไม่มีช่องว่าง
สำหรับคำแนะนำโดยละเอียดเกี่ยวกับการใช้แพ็คเกจสนับสนุนในโปรเจ็กต์ของคุณ โปรดดูคู่มือการใช้งาน
โปรเจ็กต์นี้จัดทำแพ็คเกจไลบรารีมาตรฐาน Python แต่ไม่ได้กล่าวถึงการสร้างล้อไบนารี ล้อไบนารีสำหรับ macOS สามารถรับได้จาก PyPI Mobile Forge เป็นโปรเจ็กต์ที่ให้เครื่องมือในการสร้างล้อไบนารีสำหรับ iOS (และอาจใช้กับ tvOS และ watchOS แม้ว่าจะยังไม่ได้ทดสอบก็ตาม)
เวอร์ชันต่อไปนี้ได้รับการรองรับในอดีต แต่ไม่ได้รับการบำรุงรักษาอีกต่อไป: