[caption id="attachment_2554" align="aligncenter" width="498"]

เราสามารถนำระบบติดตั้ง NSIS มาใช้ในการส่งออกโปรแกรมที่เขียนด้วย Python ไปให้คอมพิวเตอร์เครื่องอื่นที่ไม่ได้ติดตั้ง Python ได้ ด้วยโมดูล pynsist
โมดูล pynsist เป็นโมดูลช่วยสร้าง Windows installers สำหรับโปรแกรมที่เขียนด้วย Python ใช้ MIT License และ รองรับทั้ง Python 2 , Python 3
ก่อนอื่น ให้ทำการติดตั้งติดตั้ง NSIS และตั้งค่า path ชี้ไปยัง NSIS ให้เรียบร้อย แล้วทำการติดตั้งโมดูล pynsist ด้วยคำสั่ง
pip install pynsist
ตัวอย่างการส่งออกที่เขียนด้วย Python ไปให้เครื่องอื่นด้วย pynsist
1. ผมมีไฟล์ myapp.py โดยมีโค้ดดังนี้
2. ต่อมาสร้างไฟล์ installer.cfg เป็นไฟล์กำหนดค่าการส่งออกเป็นไฟล์ติดตั้ง
[Application] name=My App # ชื่อโปรแกรม version=1.0 # เวชั่น # เรียกใช้งาน จากฟังก์ชัน 'main' จาก package 'myapp' : entry_point=myapp:main [Python] version=3.5.1 # เวชั่น Python ที่ต้องการส่งออก [Include] # หากมีการเรียกใช้งาน packages ในโปรแกรมของคุณให้ใส่ หากมากกว่า 1 ให้ขึ้นบรรทัดใหม่ packages = kivy
3. ใช้คำสั่ง
pynsist installer.cfg
หรือ หากรันไม่ได้ ใช้คำสั่ง
python -m nsist installer.cfg
จะได้ไฟล์ My_App_1.0.exe ใน build\nsis

เราสามารถนำไฟล์เหล่านี้ไปติดตั้งให้คอมพิวเตอร์เครื่องอื่นได้เลย

[caption id="attachment_2556" align="aligncenter" width="499"]

[caption id="attachment_2557" align="aligncenter" width="310"]

[caption id="attachment_2558" align="aligncenter" width="802"]

ข้อควรรู้
- เวลาเอาไฟล์ไปติดตั้งเครื่องอื่นต้องเอาไฟล์ใน build\nsis ไปทั้งหมด
- หากทำการส่งออกโปรแกรมที่เขียนด้วย Python บนเครื่อง 64 บิต ไฟล์ที่ส่งออกจะเป็นเวชั่น 64 บิตเท่านั้น หากต้องการให้รันได้ทั้งบนเครื่อง 32 บิตและ 64 บิต ให้ทำการส่งออกที่เครื่อง 32 บิต
- สำหรับผู้ที่ส่งออกโปรแกรมที่มีลิขสิทธิ์ คนใช้งานโปรแกรมสามารถเปิด source code โปรแกรมได้จาก build\nsis\pkgs ควรหาวิธีป้องกันรูปแบบอื่นเพิ่มเติมด้วย เช่น ลงทะเบียนโปรแกรมออนไลน์ก่อนใช้งาน เป็นต้น
อ่านเอกสารได้ที่ https://pynsist.readthedocs.io/en/latest/
บทความนี้เขียนโดย นาย วรรณพงษ์ ภัททิยไพบูลย์ ที่ https://python3.wannaphong.com/
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)