ปัญหานี้แก้ไขได้ด้วยความสามารถ
zipapp
ใน Python 3.5 ขึ้นไปzipapp
เป็นความสามารถหนึ่งของภาษาไพทอน สามารถรวมไฟล์โค้ดไพทอนให้เป็นไฟล์เดียวด้วยการชิปไฟล์รวมเป็นก้อนแอพเดียวกันไฟล์โค้ดไพทอนที่ถูกบีบอัดด้วย
zipapp
มีสองนามสกุลไฟล์ดังนี้.pyz
เป็นไฟล์ที่โชว์หน้าต่างไพทอน.pyzw
เป็นไฟล์ที่ไม่โชว์หน้าต่างไพทอน เหมาะสมกับโปรแกรมเช่น GUI และโปรแกรมที่ทำงานเบื้องหลัง
zipapp
ใน Python ทำได้ด้วยคำสั่งในคอมมานด์ไลน์ python -m zipapp ชื่อโฟลเดอร์เก็บไฟล์
ตัวอย่างเช่น
ทำการสร้างไฟล์และโฟลเดอร์ตามนี้
app/ └── __main__.py
โค้ดในไฟล์
__main__.py
ดูโค้ดได้ที่ https://gist.github.com/anonymous/7ab9d5acf61f6de5452236abc47f42dd
เปิดคอมมานด์ไลน์ขึ้นมาใช้คำสั่ง
python -m zipapp app
จะได้ไฟล์
app.pyz
ทำการรันด้วยคำสั่ง python app.pyz
ผลลัพธ์

หากต้องการสร้างเป็นไฟล์
.pyzw
ไม่ให้แสดงหน้าต่าง Python ให้เติม -o ตามด้วยชื่อไฟล์นามสกุล .pyzw
ลงไปตามนี้
python -m zipapp app -o app.pyzw
จะได้ไฟล์
app.pyzw
แล้วลองรันด้วยคำสั่ง python app.pyzw
ผลลัพธ์

หากต้องการให้
zipapp
ทำการรันไฟล์ตามที่กำหนดสามารถทำได้ด้วยคำสั่ง
python -m zipapp ชื่อโฟลเดอร์เก็บไฟล์ -m "ไฟล์ในโฟลเดอร์:ฟังก์ชัน"
และมีอีกวิธีโดยทำในโค้ด Python อ่านได้จาก https://docs.python.org/3/library/zipapp.html
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
สอน Python
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)