Я создал довольно большой проект Python с несколькими графическими интерфейсами. Я думал о создании из него исполняемого файла, используя py2exe
, который автоматически включает в себя все используемые вами пакеты и форматирует файлы, чтобы импорт и все было нормально.Как сделать код готовым к превращению в исполняемый файл?
Однако, есть строки в моем коде, где я загрузить пользовательский интерфейс с пути:
self.ui = uic.loadUi('C:/peter/myfolder/stuffs/sub_ui/ManualBalanceUI.ui', self.window)
Где ManualBalanceUI.ui
это файл, который Qt Designer создает. Я хочу написать его так, чтобы он всегда открывался для любого пользователя. Как мне изменить эту строку кода так, чтобы она всегда могла загружать ManualBalanceUI.ui
, которая находится в папке sub_ui
в основном пакете? Есть ли способ, что я могу изменить базовый путь к чему-то вроде os.getcwd()
, а затем сделать что-то вроде
self.ui = uic.loadUi(os.getcwd() + 'sub_ui/ManualBalanceUI.ui', self.window)
Что бы лучший способ подойти к этой проблеме? Спасибо
Знайте лицензию, в соответствии с которой выпущены py2exe или аналоги: когда вы делаете надежный исполняемый файл или дистрибутив на основе каталогов, вы фактически статически ссылаетесь на свои модули провайдера py-exe. – scrutari
Какие последствия это имеет для меня? К сожалению, я никогда не использовал py2exe до –
. «Py2exe», похоже, выпущен под лицензией MIT, что довольно хорошо (вы можете использовать https://tldrlegal.com/ для быстрой справки). Проблемы возникают, когда вы хотите использовать что-то под лицензией GPL. См. Это обсуждение, например http://programmers.stackexchange.com/questions/179084. – scrutari