01/10/2018, 12:06

Hỏi về cách đóng gói .exe bằng pyinstaller

Hi all. Python rất là vui nhưng khoản đóng gói đau đầu quá. Mình có tự mày mò tạo 1 ứng dụng cho phép user auto login website và bypass captcha bằng python 3.5, viết trên IDE là Eclipse, no Gui, chạy tốt.
Sau đó mình build exe bằng pyinstaller --onedir --noupx --debug thì thành công, k vấn đề gì Tuy nhiên chạy file exe thì báo lỗi: DLL load failed, no module could not be found.
Máy chạy win7 x86, cài VS C++ hết rồi, đã thử reinstall các thư viện nhưng vẫn không thành công. Giờ đang nản quá. Mong mọi người hỗ trợ cách thức giải quyết với.
Đã thử với cx_Freeze nhưng không ổn nốt.
Tks

Tung Dao viết 14:06 ngày 01/10/2018

trong tool của bạn có dùng DLL nào không? Nếu có bạn phải include dll trong lúc build file exe nữa
Tốt nhất bạn post full error log lên đây.

Quan viết 14:06 ngày 01/10/2018

Mình không nghĩ là có dùng thêm dll nào. Thử cài lại hoàn toàn windows + python + libs và build lại vẫn báo lỗi, lỗi lần này là lỗi khác. Vui lòng xem qua thử

Tung Dao viết 14:07 ngày 01/10/2018

bạn nói là build ra file exe ok khi chạy mới bị lỗi mà. Screenshot bạn post giống như lỗi của PyInstaller vậy

Quan viết 14:07 ngày 01/10/2018

Build bằng pyinstaller (với --debug) thì báo success. Do click chạy trực tiếp file .exe thì không xem được lỗi nên mình chạy trên command line nó báo lỗi như vậy

Quan viết 14:10 ngày 01/10/2018

Dưới đây là danh sách libs của mình dùng, Python3.5, win7Ultimate x86

Tung Dao viết 14:14 ngày 01/10/2018

“messagestream” packet này có phải trong code bạn đang dùng không.
Nó báo là ko tìm thấy packet đó, có thể torng lúc tạo file exe bạn include thiếu packet ko?

Quan viết 14:10 ngày 01/10/2018

Hi, mình mất gần 3 tuần để tìm cách build ứng dụng ra exe và rút ra kinh nghiệm là cái nó báo lỗi chả có “ăn nhậu” gì với code cả, he he he… Như cái báo lỗi trên thì sau khi mình gỡ scipy 1.0 ra và cài lại sci 0.19 thì khi chạy file exe nó ra 1 lỗi khác. Cài lại máy thì ra lỗi khác, cài thêm VC++ cũng ra lỗi khác. Túm váy lại là chơi 1 mình thì được, không đưa cho người khác chơi.
Thật sự là mất phương hướng với nó.
Vui lòng chia sẽ thêm kinh nghiệm đóng gói Python35 với. Tks.

Quan viết 14:15 ngày 01/10/2018

Tks @ddt_1793 .
Hiện đã đóng gói thành công rồi, chạy tốt có điều hơi chậm xíu.
Về lỗi thiếu module thì hoặc gỡ ra cài lại hoặc không import nó trong pyinstaller.
Còn 2 vấn đề cần làm nữa là: tự chèn file, thư mục vào thư mục chứa đóng gói và tự add path vào system.

Bài liên quan
0