Vấn đề là pyinstaller sẽ không thấy nhập cấp hai . Vì vậy, nếu bạn nhập mô-đun A , pyinstaller thấy điều này. Nhưng bất kỳ mô-đun bổ sung nào được nhập trong A sẽ không được nhìn thấy.
Không cần phải thay đổi bất kỳ điều gì trong các tập lệnh python của bạn. Bạn có thể thêm trực tiếp các mục nhập bị thiếu vào tệp đặc tả . Chỉ cần thêm phần sau vào a = Analysis(...)
:
hiddenimports=["mysql"],
Đây sẽ là kết quả:
a = Analysis([os.path.join(HOMEPATH,'support/_mountzlib.py'), os.path.join(HOMEPATH,'support/useUnicode.py'), 'icinga.py'],
pathex=['/home/user/projects/icinga_python/releases/v2.1'], hiddenimports=["mysql"],)
Sau đó, chạy pyinstaller với tệp đặc tả làm đối số.