Đóng Gói Chương Trình Python Với Pyinstaller
Có thể bạn quan tâm
Hướng dẫn cách đóng gói chương trình python với Pyinstaller. Bạn sẽ học được cách dùng Pyinstaller để chuyển file python sang exe và đóng gói chương trình python sau bài học này.
Vì sao chúng ta cần đóng gói chương trình python?
Trong bài viết Cách viết, lưu và chạy chương trình python, chúng ta đã biết để chạy chương trình python, bạn cần phải tạo môi trường chạy python trong máy, cài các module cần thiết phục vụ chương trình v.v.. Sau đó bạn cũng cần phải lưu mã nguồn chương trình vào file py và chạy file này trên Anaconda hoặc DOS.
Nếu như bạn chỉ cần chạy chương trình python đã viết trên máy của mình, bạn không cần thiết phải đóng gói chương trình python. Tuy nhiên trong trường hợp bạn cần đưa chương trình này cho một người thứ 3 sử dụng, hay là muốn sử dụng chương trình trong một máy tính khác chẳng hạn, sẽ là rất rắc rối cho việc cài đặt và chuẩn bị môi trường python để chạy chương trình này.
Để tiết kiệm công sức và thoát khỏi hầu hết các công việc phức tạp ở trên, chúng ta cần chuyển file python sang exe và đóng gói chương trình python thành một chương trình độc lập có khả năng chạy ở các máy khác nhau mà không cần phải cài đặt môi trường python.
Có rất nhiều phương pháp để đóng gói chương trình python, trong đó phải kể đến 3 phương pháp tiêu biểu với ưu và nhược điểm kể đến như sau:
Phương pháp | Ưu điểm | Nhược điểm |
---|---|---|
PyInstaller | Độ phổ biến caoĐang được phát triển thêmTương thích với hầu hết các phiên bản mới của pythonCó thể tạo gộp một file exe | Chương trình sau đóng gói khá nặngTốc độ chạy file exe chậm |
Py2exe | Tốc độ chạy file exe nhanh | Không phổ biếnKhông còn phát triểnKhông thể tạo gộp một file exe |
cx_Freeze | Chương trình sau đóng gói cực nhẹTốc độ chạy file exe nhanhĐang được phát triển thêm | Không thể tạo gộp một file exeKhông thể đóng gói các thư viện của 3rd-parties như NumPy, SciPy, OpenCV, matplotlib, PyQT |
Bạn có thể tham khảo so sánh độ phổ biến giữa PyInstaller và Py2exe sau đây:
Khi so sánh các phương pháp chuyển file python sang exe đóng gói chương trình python này, chúng ta có thể thấy Py2exe đã quá cũ và không còn phổ biến. cx_Freeze thì nhanh hơn PyInstaller cũng như chương trình sau đóng gói thì nhẹ hơn, tuy nhiên cx_Freeze không thể đóng gói các thư viện của 3rd-parties như NumPy, SciPy, OpenCV, matplotlib, PyQT.
Do đó, khi cần đóng gói các chương trình đơn giản trong python, bạn nên sử dụng tới cx_Freeze, và khi cần đóng gói các chương trình có liên quan tới các thư viện thứ ba như ở trên, bạn nên dùng PyInstaller.
Về cách sử dụng cx_Freeze, Kiyoshi đã chia sẻ trong bài đóng gói chương trình python với cx_Freeze rồi. Trong khuôn khổ bài này, chúng ta sẽ tìm hiểu về cách sử dụng Pyinstaller để đóng gói chương trình python nhé.
Pyinstaller trong python là gì
Theo như website chính thức PyInstaller Manual thì:
PyInstaller gói một ứng dụng Python và tất cả các phần phụ thuộc của nó vào một gói duy nhất. Người dùng có thể chạy ứng dụng đóng gói mà không cần cài đặt trình thông dịch Python hoặc bất kỳ mô-đun nào. PyInstaller hỗ trợ Python 3.6 hoặc mới hơn và đóng gói chính xác các gói Python chính như numpy, PyQt, Django, wxPython và các gói khác.
PyInstaller được thử nghiệm trên Windows, Mac OS X và GNU / Linux. Tuy nhiên, nó không phải là một trình biên dịch chéo: để tạo một ứng dụng Windows, bạn chạy PyInstaller trong Windows; để tạo ứng dụng GNU / Linux, bạn chạy ứng dụng đó trong GNU / Linux, v.v. PyInstaller đã được sử dụng thành công với AIX, Solaris, FreeBSD và OpenBSD nhưng thử nghiệm đối với chúng không phải là một phần trong các thử nghiệm tích hợp liên tục của chúng tôi.
Hiểu một cách đơn giản, Pyinstaller trong python là một module có chức năng tạo một tệp thực thi độc lập (exe) duy nhất từ một ứng dụng python và các thành phần phụ thuộc của nó. Chúng ta sử dụng Pyinstaller để chuyển file python sang exe và đóng gói chương trình python.
Đóng gói chương trình python bằng Pyinstaller
Cài đặt Pyinstaller
Chúng ta cài đặt Pyinstaller vào python bằng lệnh sau đây:
pip install pyinstaller |
Python sẽ tiến hành cài Pyinstaller và nếu dòng Successfully installed hiện ra, quá trình cài đặt đã thành công.
Chuẩn bị chương trình python cần đóng gói
Chúng ta ghi mã nguồn của chương trình python cần đóng gói và lưu vào file py trước khi tiến hành đóng gói.
Ví dụ, chúng ta cần đóng gói chương trình quay và ghi video bằng OpenCV như sau:
import cv2# quay và ghi video bằng OpenCVcapture = cv2.VideoCapture(0)while True: ret, frame = capture.read() if not ret: continue cv2.imshow('frame',frame) if cv2.waitKey(1) & 0xFF == ord('q'): breakcapture.release()cv2.destroyAllWindows() |
Trong chương trình trên, chúng ta cần sử dụng tới module cs2 trong thư viện OpenCV, do đó hãy đảm bảo bạn đã cài OpenCV trong máy bằng lệnh cài sau đây:
pip install opencv-python |
Hãy lưu lại mã nguồn chương trình với tên file là video_capture.py và tiến hành các bước tiếp theo.
|data/ |--video_capture.pyTiến hành chuyển file python sang exe và đóng gói chương trình
Sau khi chuẩn bị xong xuôi, chúng ta tiến hành chuyển file python sang exe và đóng gói chương trình bằng cách chỉ định đường dẫn của file python đằng sau lệnh pyinstaller như dưới đây:
pyinstaller video_capture.py |
Pyinstaller sẽ tiến hành build các file và thư mục cần thiết để chạy chương trình cần đóng gói như sau:
Nếu như dòng chữ Building EXE from EXE-00.toc completed successfully. xuất hiện thì bạn đã đóng gói phần mềm python thành công rồi đấy.
Lại nữa, nếu bạn muốn đóng gói phần mềm python và tất cả các phần phụ thuộc của nó vào một file exe duy nhất, hãy sử dụng tới lệnh sau đây:
pyinstaller video_capture.py --onefile |
Khi đó, phần mềm python cần đóng gói và tất cả các thành phần liên quan sẽ được gói cả vào một file exe trong folder dist > video_capture. Bạn có thể đổi tên file exe này cho phù hợp và sử dụng nó độc lập như là một chương trình trong máy tính của mình.
|data/ |--dist | |--video_capture | |--video_capture.exe |--video_capture.pyTổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về cách đóng gói chương trình python bằng Pyinstaller rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.
URL Link
https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/dong-goi-chuong-trinh-python/dong-goi-chuong-trinh-python-pyinstaller/
Từ khóa » Chuyển Từ .py Sang Exe
-
Hướng Dẫn Chuyển File Python .PY Sang .EXE - YouTube
-
Chuyển File Python Sang File Exe| Nga It - YouTube
-
Hướng Dẫn Chuyển File Python .PY Sang .EXE - Morioh
-
Hôm Nay Mình Sẽ Chia Sẻ Cách Chuyển đổi File .py Sang .exe
-
Hướng Dẫn Chuyển File Python .PY Sang .EXE - Thủ Thuật 24h
-
Hướng Dẫn Chuyển File Python .PY Sang .EXE | Nejnovější Zprávy ...
-
Làm Sao Chuyển File Python Thành File Exe? - Dạy Nhau Học
-
Chuyển File Python Sang File Exe| Nga It - Vương Chí Hùng
-
Biên Dịch File Python Thành Exe
-
Làm Cách Nào Tôi Có Thể Chuyển đổi .py Thành .exe Cho Python?
-
Cách Chuyễn File .py Thành File .exe | How Kteam
-
Đóng Gói Chương Trình Python Với Pyinstaller - Chickgolden
-
Chuyển File .py Sang .exe - Python Việt Nam
-
Làm Sao Chuyển File Python Thành File Exe?