PyInstaller + файлы пользовательского интерфейса - FileNotFoundError: [Errno 2] Нет такого файла или каталога:

Я пытаюсь экспортировать мой скрипт .py в .exe, используя PyInstaller, который зависит от файлов .ui, которые были созданы с помощью Qt Designer.

Я могу подтвердить, что мой скрипт .py прекрасно работает при запуске через PyCharm - я могу видеть графический интерфейс, который я создал с файлами .ui.

Однако, когда я экспортирую свой скрипт .py в .exe и запускаю его, я получаю следующие ошибки в командной строке:

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

По какой-то причине файл .exe ищет файл .ui по пути - C: \ Users \ giranm \ Однако, проведя некоторое исследование, мне сказали, что мне нужно использовать os.getcwd () и убедиться, что в моем скрипте указан полный путь. Даже с кодом ниже, я все еще получаю ошибки, пытаясь найти файлы .ui.

PyInstaller: IOError: [Errno 2] Нет такого файла или каталога:

Я знаю, что можно преобразовать файлы .ui в .py и импортировать их в основную подпрограмму, используя pyuic4. Тем не менее, я буду вносить несколько изменений в файлы .ui, и поэтому я не могу продолжать их преобразовывать.

# 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.  

Есть ли способ исправить это, чтобы я мог создать автономный .exe?

Я довольно новичок в использовании PyQT4 и PyInstaller - любая помощь будет высоко ценится!

После того, как все выходные почесал голову и посмотрел дальше на SO, мне удалось скомпилировать автономный .exe, как и ожидалось, с использованием файлов пользовательского интерфейса.

Ответы на вопрос(2)

Ваш ответ на вопрос