2016-07-15 3 views
0

Я создал довольно большой проект 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) 

Что бы лучший способ подойти к этой проблеме? Спасибо

+0

Знайте лицензию, в соответствии с которой выпущены py2exe или аналоги: когда вы делаете надежный исполняемый файл или дистрибутив на основе каталогов, вы фактически статически ссылаетесь на свои модули провайдера py-exe. – scrutari

+0

Какие последствия это имеет для меня? К сожалению, я никогда не использовал py2exe до –

+0

. «Py2exe», похоже, выпущен под лицензией MIT, что довольно хорошо (вы можете использовать https://tldrlegal.com/ для быстрой справки). Проблемы возникают, когда вы хотите использовать что-то под лицензией GPL. См. Это обсуждение, например http://programmers.stackexchange.com/questions/179084. – scrutari

ответ

Смежные вопросы