บางครั้งเรารู้สึกอยากสร้างสรรค์สิ่งที่แตกต่างออกไปซึ่งน่าตื่นเต้นมาก และโดยธรรมชาติของมนุษย์ เราก็ชอบที่จะแบ่งปันมันเสมอ
Python ยังเติมเต็มความปรารถนาเหล่านั้น เมื่อใช้ Python หากเราต้องการแชร์โปรแกรม Python กับเพื่อนของเรา เราสามารถทำได้ เพียงแค่ติดตั้ง Python เวอร์ชันเดียวกันกับโมดูลทั้งหมดที่ใช้ในโปรแกรมของเครื่อง
ก่อนอื่นเราต้องติดตั้งโมดูล CX_Freeze โดยใช้ pip install CX_Frezze คำสั่งในพรอมต์คำสั่ง
ขั้นตอนแรกคือการแก้ไขงานนี้ การแปลงโปรแกรมหลาม เราต้องการโมดูลไลบรารีมาตรฐาน ที่นี่เราใช้ urllib และ re โมดูลที่เราแยกวิเคราะห์ python.com
ตัวอย่าง
import urllib.request
import urllib.parse
import re
import time
my_url = 'https://www.python.com/'
my_values = {'s' : 'basics',
'submit' : 'search'}
my_data = urllib.parse.urlencode(my_values)
my_data = data.encode('utf-8')
my_req = urllib.request.Request(my_url, my_data)
my_resp = urllib.request.urlopen(my_req)
my_respData = my_resp.read()
my_paragraphs = re.findall(r'<p>(.*?)</p>',str(my_respData))
for p in my_paragraphs:
print(p)
time.sleep(20)
ในที่นี้เราใช้โหมดสลีป 20 วินาทีในตอนท้าย ดังนั้นเราจึงเห็นผลลัพธ์ก่อนที่จะปิด
โปรแกรมนี้ถูกบันทึกเป็นชื่อไฟล์ "pythonCX_Freeze.py"
ขั้นตอนต่อไปคือการสร้างไฟล์ติดตั้งและไฟล์นี้มีชื่อว่า "setup.py"
โค้ดตัวอย่าง
from cx_Freeze import setup, Executable
setup(name = "pythonCX_Freeze" ,
version = "0.1" ,
description = "" ,
executables = [Executable("pythonCX_Freeze.py")])
ในโปรแกรมนี้ เรานำเข้า pythonCX_Freeze การติดตั้งและปฏิบัติการ ต่อไปเราจะเรียกฟังก์ชัน setup() ที่มี 4 พารามิเตอร์ ชื่อพารามิเตอร์แรก นี่คือชื่อของโปรแกรมที่เราต้องการรัน ที่สองคือเวอร์ชัน นี่คือหมายเลขเวอร์ชันที่จะให้ คำอธิบายถ้าเราต้องการ ให้เขียนบรรทัดที่จำเป็น มิฉะนั้น เว้นว่างไว้ และอันสุดท้ายเป็นฟังก์ชันที่เรียกใช้งานได้ พารามิเตอร์
ต่อไปเราเปิด cmd.exe จากนั้นไปที่ไดเร็กทอรีที่มี setup.py และสคริปต์
จากนั้นเราเรียกใช้ python setup.py build .
ตอนนี้ให้ไดเร็กทอรี build และภายในไดเร็กทอรีนี้ เราจะพบไดเร็กทอรีอื่น และภายในไดเร็กทอรีนั้น เราจะพบว่าไฟล์เรียกทำงานของเรา หากทำทุกขั้นตอนถูกต้องแล้ว ควรแยกวิเคราะห์ผลการค้นหาของแบบฟอร์มพื้นฐานบน python.com และแสดงผลเป็นเวลา 20 วินาทีก่อนปิด