2016-09-22 1 views
1

Я использую py2app для создания автономного APP из сценария python, однако у меня возникла проблема, с которой я надеюсь, что вы сможете помочь.Py2app - Добавить «from x import y» to setup.py

Сценарий во многом зависит от Tkinter, в первую очередь модуль Tkinter MessageBox, который не импортируется с Tkinter, а должен быть импортирован отдельно с помощью:

from tkinter import messagebox 

В моем файле setup.py, который я использую для создания приложение, я включил все модули, которые используются в Python, используя этот код:

from setuptools import setup 


APP = ['ch.py'] 
DATA_FILES = ['company.txt'] 
OPTIONS = {'argv_emulation': False, 'includes':['tkinter', 'requests', 'os'], 'iconfile': 'icon.icns'} 

setup(
    app=APP, 
    data_files=DATA_FILES, 
    options={'py2app': OPTIONS}, 
    setup_requires=['py2app'], 
) 

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

Кто-нибудь знает, как я могу сказать setup.py файл включить «от Tkinter импорта MessageBox?

Большое спасибо!

ответ

1

Обнаружили ответ примерно через день поисков, в основном проблему ISN» t с модулем сообщения tkinter. Проблема заключалась в модуле запросов, который использовался для связи с API, который затем возвращал информацию, которая должна отображаться в окне сообщения. Именно поэтому ящик сообщений не показывался, потому что запрос API не выполнялся.

Чтобы исправить это, вам необходимо добавить модуль запросов в «пакеты» a S также «включает в себя», как следует:

OPTIONS = {'argv_emulation': False, 'includes':['datetime', 'tkinter', 'requests'], 'packages':['requests'], 'iconfile':'icon.icns'} 

Надеется, что это помогает кто-нибудь в том же сценариях

+0

Могу ли я узнать, какую версию запросов и py2app вы используете? Кажется, я не получаю запросы на работу, когда программа скомпилирована в приложение, хотя графический интерфейс приложения запускается просто отлично. Я использую запросы 2.18.4 и py2app 0.10. Спасибо! –