-->

Using py2app with tkinter and openpyxl and multipl

2019-07-16 10:29发布

问题:

From searching around this is what my setup.py is right now. When I build my application using the -A mode (alias) then try to run it I get this error:

In the console I find this error:

8/21/13 10:09:46.203 PM com.apple.launchd.peruser.501[249]: ([0x0-0x150d50c].org.pythonmac.unspecified.notebook_tracker[24469]) Exited with code: 255

My setup.py code:

"""
This is a setup.py script generated by py2applet

Usage:
    python setup.py py2app
"""

from setuptools import setup
APP = ['notebook_tracker.app']
DATA_FILES = ['notebook_tracker.pyw']
OPTIONS = {'argv_emulation': True,
            'packages': ['openpyxl','Tkinter']}

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
    py_modules=['DialogTemplate','reports','customer','schedule','admin','log_data','payment']
)

回答1:

I found the solution to my own problem. openpyxl is a library contained in a .egg file. py2app and py2exe don't play nicely with .egg files. Once I unzipped the .egg file and placed it in my project everything worked nicely. Also my setup.py file didn't need to be nearly as complicated, below is the setup.py that works. Also, I stopped building it in alias mode and it worked just fine.

"""
Script for building the example.

Usage:
    python setup.py py2app
"""

from setuptools import setup

setup(
    app=['notebook_tracker.pyw'],
    setup_requires=["py2app"],
)