Python

Đóng gói chương trình với PyInstaller

Xin chào, trong bài viết này chúng ta sẽ tìm hiểu về PyInstaller – một công cụ đóng gói chương trình Python thành “stand-alone executable file” có thể thực thi trong các môi trường Windows, Linux, MAC OS, v.v.. mà không cần cài đặt Python Interpreter.


CÀI ĐẶT PYINSTALLER

$ python -m pip install pyinstaller
$ python3 -m pip install pyinstaller


ĐÓNG GÓI VỚI PYINSTALLER

Khi đóng gói với PyInstaller, các thư viện của 3rd-parties như NumPy, SciPy, OpenCV, matplotlib, PyQT,… sẽ được đóng gói cùng với chương trình chính, do đó chúng ta không cần lo lắng về việc các thư viện này khi thực thi chương trình ở một môi trường khác.

Chú ý: stand-alone executable file nhận được khi đóng gói sẽ tương thích với môi trường thực hiện đóng gói, chẳng hạn như đóng gói trên Windows, chúng ta sẽ nhận được file .exe .

Dưới đây là chương trình cần đóng gói.

File: test.py

import cv2

camera = cv2.VideoCapture(0)

while True:
    grab, frame = camera.read()
    if not grab:
        continue

    cv2.imshow("frame", frame)

    k = cv2.waitKey(1)
    if k & 0xFF == 27:
        break

camera.release()
cv2.destroyAllWindows()

Trong chương trình trên chúng ta đã import thư viện cv2, là binding của thư viện OpenCV dành cho Python.

+ Đóng gói chương trình vào một directory duy nhất (mặc định):
    – Cho phép hiển thị cửa sổ console:
$ pyinstaller test.py
    – Không hiển thị cửa sổ console:
$ pyinstaller -w test.py

Sau quá trình đóng gói, một thư mục tên dist sẽ xuất hiện bên cạnh file chương trình, bên trong thư mục đó sẽ có một thư mục cùng tên với file chương trình, trong ví dụ này là thư mục test, bên trong thư mục test sẽ chứa “stand-alone executable file” test.exe và các thư viện liên quan.

capture
Hình 1 – Đóng gói chương trình vào một thư mục.

+ Đóng gói chương trình vào một file duy nhất:
$ pyinstaller -F test.py 

Sau quá trình đóng gói, bên trong thư mục dist sẽ xuất hiện “stand-alone executable file” test.exe, file này sẽ có dung lượng khá lớn vì nó chứa cả các thư viện liên quan.

+ Đóng gói chương trình cùng với icon file (tạo icon cho file):
$ pyinstaller -i programIcon.ico test.py

Trong đó: programIcon.ico là icon file.


SUMMARY

Qua bài viết này chúng ta đã tìm hiểu cách đóng gói chương trình Python với PyInstaller. Cảm ơn các bạn đã theo dõi bài viết.

Thân ái và quyết thắng.

Reference:
[1] PyInstaller Feature.
[2] Convert PY to EXE.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s