Tôi đang cố gắng xuất tập lệnh .py sang .exe bằng PyInstaller, có phụ thuộc vào tệp .ui được tạo bằng Qt Designer.PyInstaller + UI Files - FileNotFoundError: [Errno 2] Không có tập tin hoặc thư mục như vậy:
Tôi có thể xác nhận rằng tập lệnh .py của tôi hoạt động tốt khi chạy qua PyCharm - Tôi có thể xem GUI tôi đã tạo bằng tệp .ui.
Tuy nhiên, khi tôi xuất kịch bản py tôi để exe và khởi động nó, tôi nhận được các lỗi sau đây trong dòng lệnh:
C:\Users\giranm>"C:\Users\giranm\PycharmProjects\PyQt Tutorial\dist\secSearch_demo.exe"
Traceback (most recent call last):
File "secSearch_demo.py", line 13, in <module>
File "site-packages\PyQt4\uic\__init__.py", line 208, in loadUiType
File "site-packages\PyQt4\uic\Compiler\compiler.py", line 140, in compileUi
File "site-packages\PyQt4\uic\uiparser.py", line 974, in parse
File "xml\etree\ElementTree.py", line 1186, in parse
File "xml\etree\ElementTree.py", line 587, in parse
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\giranm\\securitySearchForm.ui'
Failed to execute script secSearch_demo
Đối với một số lý do, các tập tin .exe được tìm kiếm .ui tập tin trong đường dẫn - C: \ Users \ giranm \
Tuy nhiên, đã thực hiện một số nghiên cứu, tôi đã nói rằng tôi cần sử dụng os.getcwd() và đảm bảo rằng tôi có đường dẫn đầy đủ trong tập lệnh của mình . Ngay cả với mã bên dưới, tôi vẫn gặp lỗi khi cố định vị trí tệp .ui.
PyInstaller: IOError: [Errno 2] No such file or directory:
# import relevant modules etc...
cwd = os.getcwd()
securitySearchForm = os.path.join(cwd, "securitySearchForm.ui")
popboxForm = os.path.join(cwd, "popbox.ui")
Ui_MainWindow, QtBaseClass = uic.loadUiType(securitySearchForm)
Ui_PopBox, QtSubClass = uic.loadUiType(popboxForm)
# remainder of code below.
Tôi biết rằng người ta có thể chuyển đổi các tập tin để py và nhập chúng vào các thói quen chính sử dụng pyuic4 .ui. Tuy nhiên, tôi sẽ thực hiện nhiều chỉnh sửa đối với các tệp .ui và do đó tôi không thể chuyển đổi chúng.
Có cách nào để sửa lỗi này để tôi có thể tạo một .exe độc lập không?
Tôi khá mới sử dụng PyQT4 và PyInstaller - mọi trợ giúp sẽ được đánh giá cao!