py2exe เป็นเครื่องมือสำหรับ Compile python ให้เป็น exe ที่มีชื่อเสียงมายาวนานและเป็นที่นิยมกันใน Python 2 รองรับการ Compile ทั้ง 32 bit และ 64 bit จาก Python scripts
py2exe สามารถสร้าง console executables, windows (GUI) executables, windows services, และ DLL/EXE COM servers
การติดตั้ง
-ใช้ pip โดยใช้คำสั่งpy -3.4 -m pip install py2exeหรือ
pip install py2exe-โหลดไฟล์ติดตั้ง ได้ที่ https://pypi.python.org/pypi/py2exe/
Compile python 3 ให้เป็น exe
ใช้คำสั่งpy -3.4 -m py2exe.build_exe notesbook.py --bundle-filesอธิบาย
-3.4 คือ เวชั่นของ Python หากผู้อ่านใช้ Python 3.3 ให้เปลี่ยนเป็น -3.3
notesbook.py คือ ไฟล์ .py ที่ผมต้องการ Compile ผู้อ่านสามารถเปลี่ยนเป็นไฟล์ .py ที่ต้องการ Compile
โค้ดตัวอย่างไฟล์ notesbook.py
#!/usr/bin/python #-*-coding: utf-8 -*- print ("The program notesbook") print ("Build by Wannaphong") print ("What you do?") print ("1.To write \n 2.Read") x = int(input("input: ")) if x == 1: a = open('notes.txt','a+') ab = input("input: ") a.write(ab) print ("Ok, Text's:",ab) a.close elif x == 2: a = open('notes.txt','r+') print (a.read()) a.close
จะได้โฟลเดอร์ dist เพิ่มขึ้นในมาในโฟลเดอร์ที่เก็บไฟล์ notesbook.py โดยข้างในโฟลเดอร์ dist จะมีไฟล์ที่ต้องเป็นสำหรับใช้รันไฟล์ที่เรา Compile python ให้เป็น exe
ถ้าใช้คำสั่ง
py -3.4 -m py2exe.build_exe notesbook.py --bundle-files 2ผลลัพธ์
ถ้าใช้คำสั่ง
py -3.4 -m py2exe.build_exe notesbook.py --bundle-files 1ผลลัพธ์
ในกรณีที่ผู้อ่านเขียนโปรแกรม Python โดยมีการดึงข้อมูลจากไฟล์ฐานข้อมูล sqlite หากต้องการรวมไฟล์ฐานข้อมูลเข้ากับไฟล์ที่ต้องการ Compile ให้ใช้คำสั่ง
py -3.4 -m py2exe.build_exe notesbook.py --bundle-files 0
เพียงแค่นี้เราก็จะได้ไฟล์ exe ที่ถูก Compile จาก python แล้วครับ
นอกจากนั้นยังมีวิธีการขั้นสูงสำหรับกำหนดค่า โดยใช้ setup-script มีลักษณะการใช้งานเหมือน Python 2 ครับ
สร้างไฟล์ setup-script ขึ้นมา โค้ด:
from distutils.core import setup import py2exe setup(console=['notesbook.py'])
เสร็จแล้วบันทึกไฟล์ชื่อ setup.py ในโฟลเดอร์เดียวกันกับไฟล์ notesbook.py เสร็จแล้วใช้คำสั่ง
python 1.py py2exeหน้าจอจะขึ้นแสดงการทำงานระหว่าง Compile
running py2exeจะได้โฟลเดอร์ dist ข้างในจะประกอบด้วยไฟล์รวมถึงไฟล์ notesbook.exe สำหรับเรียกใช้งาน
3 missing Modules
------------------
? readline imported from cmd, code, pdb
? win32api imported from platform
? win32con imported from platform
Building 'dist\notesbook.exe'.
Building shared code archive 'dist\library.zip'.
Copy c:\windows\system32\python34.dll to dist
Copy C:\Python34\DLLs\unicodedata.pyd to dist\unicodedata.pyd
Copy C:\Python34\DLLs\_bz2.pyd to dist\_bz2.pyd
Copy C:\Python34\DLLs\_ctypes.pyd to dist\_ctypes.pyd
Copy C:\Python34\DLLs\_socket.pyd to dist\_socket.pyd
Copy C:\Python34\DLLs\pyexpat.pyd to dist\pyexpat.pyd
Copy C:\Python34\DLLs\_hashlib.pyd to dist\_hashlib.pyd
Copy C:\Python34\DLLs\_lzma.pyd to dist\_lzma.pyd
Copy C:\Python34\DLLs\select.pyd to dist\select.pyd
Copy C:\Python34\DLLs\_ssl.pyd to dist\_ssl.pyd
ศึกษารายละเอียดเกี่ยวกับ setup-script ได้ที่ http://www.py2exe.org.
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)