EXE คือ ไฟล์ Binary ในระบบปฎิบัติการ Windows ที่ใช้งานกันส่วนใหญ่ ซึ่งได้แปลงโปรแกรมมาอยู่ในรูปภาษาเครื่องแล้วครับ
ใน Python 3 ผมได้ตรวจสอบแล้วพบว่า PyInstaller และอื่น ๆ ยังไม่รองรับ Python 3 อย่างสมบูรณ์ครับ ผมขอแนะนำโมดูล cx_Freeze ครับ เป็นโมดูลที่รองรับการ Compile python 3 ให้เป็น exe ครับ
โมดูล cx_Freeze สามารถโหลดและติดตั้งได้ที่ https://pypi.python.org/pypi/cx_Freeze ครับ เลือกให้ตรงกับเวชั่นนะครับ เช่น ผมใช้ Python 3.4 32 Bit ผมก็เลือก cx_Freeze-4.3.3.win32-py3.4.exe ครับ
เมื่อติดตั้งเสร็จแล้วเรามาลอง Compile python 3 ให้เป็น exe กันเลยครับ ผมได้เขียนโปรแกรมบวกลบแบบง่าย ๆ โดยมีโค้ดดังนี้ครับ
#!/usr/bin/python
#-*-coding: utf-8 -*-
print (" + or -")
print ("1.+ 2. -")
x = int(input("input: "))
if x == 1:
a = int(input(" input 1: "))
b = int(input("input 2: "))
print ("=" , a + b)
elif x == 2:
c = int(input("input 1: "))
d = int(input("input 2: "))
print ("=" , c - d)
elif x < 1 or x > 2:
print ("No!")
input("enter to exit")
เสร็จแล้วผมบันทึกเป็น 1.py ต่อมาเราต้องสร้างไฟล์ setup.py ด้วยครับ เป็นไฟล์สำคัญในการ Compile บอกรายละอียดให้โมดูล cx_Freeze ว่าต้องมีการรวมโมดูลใดเข้ามาบ้าง ไฟล์ที่ต้องการ Compile เป็นต้นครับโค้ดตัวอย่างไฟล์ setup.py
import sys
from cx_Freeze import setup, Executable
executables = [
Executable("1.py",
icon="logo.ico",
appendScriptToExe=True,
appendScriptToLibrary=False,
)
]
buildOptions = dict(create_shared_zip=False)
setup(name="Test",
version="0.1",
description="Hello, world",
options=dict(build_exe=buildOptions),
executables=executables,
)
แล้วผมก็เปิด cmd ใช้ cd ไปยังโฟลเดอร์ที่เก็บแล้วผมก็สั่ง
python setup.py buildเสร็จแล้วจะได้โฟลเดอร์ build ขึ้นมา เข้าไปจะพบกับโฟลเดอร์ exe.winXX-Y.Y
XX คือ Bit ของ Python Y.Y คือรุ่นของ Python ครับ ของผมเป็น exe.win32-3.4 พอคลิกเข้าไปจะพบกับ ครับ เมื่อผมคลิกที่ 1.exe จะพบว่าโปรแกรมได้ถูก Compile ให้เป็น exe แล้วครับ
โหลดโค้ดตัวอย่างโปรแกรมที่ผ่านการ Compile ได้ที่ https://db.tt/kmIfSNPn
หรือถ้าต้องการสร้างไฟล์ติดตั้ง msi ด้วยให้ใช้คำสั่ง
python setup.py bdist_msiครับ จะได้โฟลเดอร์ dist ขึ้นมาข้างในจะมีไฟล์ Test-0.1-win32.msi ครับ
ติดตามบทความต่อไปครับ :)
ขอบคุณครับ

0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)