ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

              หลังจกาที่เรานั้นได้ศึกษาเกี่ยวบทความการใช่ภาษาไพธอนกันไปในบทความต่างๆแล้วเช่นบทความ การจัดการข้อผิดพลาดในภาษา Python Exceptions,Syntax Errors แบบจัดเต็ม   บทความ คำสั่งพื้นฐานในภาษา Python ตอนที่ 1 print input sum type  และบทความ บทเรียน สอน Python บทที่ 12 การใช้ While loop statements ใน Python    ในบทความนี้จะมาแนะนำการแปลงไฟล์ ไพธอน ให้เป็นไฟล์ .exe (อีเอ็กอี)  โดยใช้โมดูล Pyinstaller (ไพอินสตอเลอร์)  

 

 

ไฟล์ .exe คืออะไร

            ย่อมาจากคำว่า executable file  (เอกซิคิวเทเบิล ไฟล์) ใช้เป็นนามสกุล (file type) ของแฟ้มข้อมูลในระบบดอสและ โอเอส/ทู แฟ้มที่มีนามสกุลดังกล่าวนี้ จะเป็นแฟ้มข้อมูลที่เป็นตัวโปรแกรมแท้ ๆ และจะเป็นตัวปฏิบัติการ แฟ้มข้อมูลอื่น ๆ นอกจากนั้นจะเป็นเพียงแฟ้มประกอบ   ซึ่งเราจะเห็นได้มากในระบบปฏิบัติการวินโดว์ ซึ่งโปรแกรมส่วนมากในวินโดวส์จะเป็นไฟล์ประเภทนี้

 

วิธีการแปลงไฟล์ไพธอน ให้เป็นไฟล์ .exe (อีเอ็กอี)  โดยใช้โมดูล Pyinstaller (ไพอินสตอเลอร์)

              1.ให้เรานั้นติดตั้งโมดูล pyinstaller  ก่อน ในที่นี้ใช้อิดิตเตอร์ไพชาร์มในการติดตั้ง

python -m pip install pyinstaller

              2.เมื่อติดตั้งเสร็จแล้วให้พิมคำสั่งนี้ในเทอร์มินอลเพื่อแปลงไฟล์ไพธอนที่เราต้องการและกด Enter

pyinstaller --onefile --icon=te\ha2.ico --clean te\o.py

              ความหมายของแต่ลำคำสั่ง

              pyinstaller    เรียกใช้โมดูล pyinstaller (ไพอินสตอเลอร์)

              onefile         ทำให้ไฟล์ที่ได้เป็นไฟล์ .exe ไฟล์เดียวถ้าคำสั่งนี้ไม่มีจะได้ไฟล์.exe  (อีเอ็กอี) และไฟล์อื่นๆอีกหลายไฟล์

              icon            ใส่รูปไอคอนถ้าหากไม่ใช้คำสั่งนี้จะได้รูปไอคอนเป็น Default ของโมดูล pyinstaller (ไพอินสตอเลอร์) โดยวิธีการใส่พาธไฟล์ทำได้ดังนี้ 

                                1.ให้เรานั้นนำรูปที่ต้องการโดยต้องเป็นไฟล์ .ico เท่านั้นสามารถโหลดจากอินเตอร์เน็ตหรือเอารูปที่เรามีไปแปลงได้และนำรูปทีเราต้องการไปใส่ในโฟล์เดียวกับไฟล์                                           ไพธอนที่จะแปลงเพื่อความสะดวกในการระบุพาธของไฟล์รูป

                                2.ระบุพาธของไฟล์รูป   สมมุติว่ารูปที่เราต้องการอยุ่ในพาธ D:\GIT\python_test\Mt24\te\ha2.ico   แต่ว่าไดเรกทอรี่ของเทอร์มินอลเป็น  D:\GIT\python_test\Mt24 

                                   อยู่แล้ว ดังนั้นจะได้ว่า icon=te\ha2.ico 

   

              clean          ลบแคช 

 

              te\o.py       คือพาธของไฟล์ไพธอนที่จะแปลง โดยหลักการระบุพาธเหมือนกับ การระบุพาธรุปภาพเลย

              ตัวอย่างของไดเรกทอรี่และคำสั่งแปลงไฟล์

D:\GIT\python_test\Mt24>pyinstaller --onefile --icon=te\ha2.ico --clean te\o.py

              3.เมื่อติดตั้งเสร็จแล้ว จะปรากฏข้อความนี้ในเทอร์มินอล

10395 INFO: Building EXE from EXE-00.toc completed successfully.

               4.โปรแกรมที่ได้จะอยู่ในไฟล์ dist ที่อยูในไดเรกทอรี่ของไพชาร์ม โดยสามารถกดรันโปรแกรมได้เลยโดยไม่ต้องดาวน์โหลดไลบารี่หรืออะไรเพิ่ม                        

icon
                                                                                                            icon
ผลการัน
                                                                                                          ผลการรัน

               

 สามารถศึกษาเพิ่มเติมได้จากบทความ

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
บันทึกการประชุม OpenERP MD-ERP
โดย rinrada ส 04 ก.พ. 2017 11:52 am บอร์ด OpenERP - MD-ERP (Main)
26
173
พฤ 21 พ.ย. 2019 6:56 pm โดย thatsawan
การใช้ ฟังก์ชัน hsl() และ hsal () กำหนดค่าของสี
โดย bankjittapol พฤ 21 พ.ย. 2019 6:55 pm บอร์ด CSS Knowledge
0
9
พฤ 21 พ.ย. 2019 6:55 pm โดย bankjittapol
วิธีการแยกตัวอักษรเข้าอาร์เรย์ (Array) แต่ล่ะอาร์เรย์ ด้วยคำสั่ง split
โดย jamepiyawat พฤ 21 พ.ย. 2019 6:50 pm บอร์ด Jquery & Ajax Knowledge
0
5
พฤ 21 พ.ย. 2019 6:50 pm โดย jamepiyawat
วิธีการดึงค่าเฉพาะค่าสุดท้ายของ class แม้ว่าจะมี class ชื่อเหมือนกัน หลายคลาส โดย javascript
โดย Ittichai_chupol พฤ 21 พ.ย. 2019 6:39 pm บอร์ด Jquery & Ajax Knowledge
0
14
พฤ 21 พ.ย. 2019 6:39 pm โดย Ittichai_chupol
การติดตั้ง wkhtmltopdf ด้วย terminal บน ubuntu
โดย jirawoot พฤ 27 มิ.ย. 2019 4:00 pm บอร์ด Linux - Web Server
3
698
พฤ 21 พ.ย. 2019 2:49 pm โดย mindphp
การปรับแก้ไข(Overrides) Modules ใน Template
โดย bankjittapol พฤ 21 พ.ย. 2019 2:36 pm บอร์ด Joomla Developing Knowledge
0
8
พฤ 21 พ.ย. 2019 2:36 pm โดย bankjittapol
wkhmtltopdf คืออะไร
โดย jirawoot พ 03 ก.ค. 2019 6:35 pm บอร์ด Share Knowledge
1
218
พฤ 21 พ.ย. 2019 2:34 pm โดย mindphp
อัพเกรด wkhtmltopdf บน Ubuntu 16.04
โดย mindphp พฤ 21 พ.ย. 2019 2:33 pm บอร์ด Linux - Web Server
0
7
พฤ 21 พ.ย. 2019 2:33 pm โดย mindphp
VDO - โปรแกรมแปลงพื้นที่
โดย numtan5839 พฤ 21 พ.ย. 2019 1:59 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
11
พฤ 21 พ.ย. 2019 4:27 pm โดย thatsawan
VDO - การใช้โปรแกรมคำนวณแคลอรี่
โดย numtan5839 พฤ 21 พ.ย. 2019 1:46 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
10
พฤ 21 พ.ย. 2019 4:24 pm โดย thatsawan
แนะนำ tools Online
โดย chaiyasitpraphut พ 13 พ.ย. 2019 6:21 pm บอร์ด MindPHP News / Feedback
1
54
พฤ 21 พ.ย. 2019 12:33 pm โดย mindphp
ต้องการเก็บ cache ข้อมูลที่ดึงมาจาก api ของ กรมอุตุฯ ต้องทำยังไงครับ
โดย bankjittapol พฤ 21 พ.ย. 2019 10:40 am บอร์ด Joomla Development
1
15
พฤ 21 พ.ย. 2019 10:43 am โดย thatsawan
อัพเดทความคืบหน้า / Progress - ThaiVI
โดย mindphp พ 10 ต.ค. 2018 3:49 am บอร์ด ThaiVI (Main)
409
2754
พฤ 21 พ.ย. 2019 10:32 am โดย thatsawan
งานประจำวันที่ 21 พฤศจิกายน 2562
โดย numtan5839 พฤ 21 พ.ย. 2019 10:11 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
8
31
พฤ 21 พ.ย. 2019 7:42 pm โดย numtan5839
Google Station บริการ Wi-Fi ฟรี จาก google มีบริการภายในสนามบิน 6 แห่ง
โดย jamepiyawat จ 26 ส.ค. 2019 6:19 pm บอร์ด Share Knowledge
2
299
พฤ 21 พ.ย. 2019 9:49 am โดย aloha11x
เปลี่ยน Default Python3 บนเครื่อง Ubuntu 16.04 จาก Python3.5 เป็น Python3.6
โดย mindphp พฤ 21 พ.ย. 2019 7:04 am บอร์ด Linux - Web Server
0
8
พฤ 21 พ.ย. 2019 7:04 am โดย mindphp
สร้าง Template ใน Joomla
โดย bankjittapol พ 20 พ.ย. 2019 8:06 pm บอร์ด Joomla Developing Knowledge
0
9
พ 20 พ.ย. 2019 8:06 pm โดย bankjittapol
list box เลือกแสดงรูปแบบของวันที่ (Date Format )
โดย bankjittapol พ 20 พ.ย. 2019 6:55 pm บอร์ด Joomla Developing Knowledge
0
12
พ 20 พ.ย. 2019 6:55 pm โดย bankjittapol
คำสั่งเข้าใช้งาน PostgreSQL ด้วย Command Line
โดย mindphp อ 30 ก.ค. 2017 11:24 pm บอร์ด PostgreSQL
6
1813
พ 20 พ.ย. 2019 6:38 pm โดย mindphp
replace() คำสั่งค้นหาแทนที่ใน javascript
โดย jamepiyawat พ 20 พ.ย. 2019 6:36 pm บอร์ด Jquery & Ajax Knowledge
0
9
พ 20 พ.ย. 2019 6:36 pm โดย jamepiyawat