我无法在任何地方找到任何有关Flask程序使用py2app的文档。我应该如何设置setup.py文件?用py2app捆绑Flask程序的Setup.py文件
Here's the dependencies I'm working with
我无法在任何地方找到任何有关Flask程序使用py2app的文档。我应该如何设置setup.py文件?用py2app捆绑Flask程序的Setup.py文件
Here's the dependencies I'm working with
你需要做的(至少)两两件事,以与瓶MacOS的应用程序通过py2app:
setup.py
正常__init__.py
通过的好版本第一次构建应用程序后将遇到的问题与packages
的适当列表无法提供静态内容和模板(直到您配置resources
的列表setup.py
并重新配置应用的__init__.py
)。您必须将模板文件夹和静态文件夹设置为setup.py
和__init__.py
均可使用的位置。
但是,在你太激动之前,你应该意识到你的新应用程序会出现(显着的)新问题:首先,应用程序没有图标,没有菜单存在,也没有办法给你反馈。您将需要“强制退出”退出它。这可能是更有用通过终端运行:
$ ./dist/myapp.app/Contents/MacOS/myapp
但这里是大问题:你刚才硬编码的路径,使其具有绝对路径。如果你逛了一下,你将成为被可能性模板路径设定成类似../../templates
会的工作动心捅
jinja2.exceptions.TemplateNotFound
:如果移动应用程序,那么它就会失去找到它的数据的能力。它不会。 py2app和它的魔法将在你需要一个目录的烧瓶路径中包含一个文件:类似于python36.zip
。
您可能希望从您的应用程序到最后更多。但这绝对是一个开始:编译。正如你所看到的,我或多或少地停在这里。我并不想让我的脚本成为一个应用程序,而且它看起来像py2app,并且烧瓶真的不想一起玩。有可能是一种方法来获得编译和真正可移植的东西,但我不是那个人为你回答这个问题。祝你好运!
setup.py
"""
This is a setup.py script generated by py2applet
Usage: python setup.py py2app
"""
APP = ['myapp.py']
DATA_FILES = []
OPTIONS = {
'packages': ['flask', 'werkzeug', 'config', 'jinja2'],
'resources': ['./server/templates', './server/static'],
}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
__init__.py
myapp = Flask(__name__,
template_folder='/path/to/dist/dir/dist/myapp.app/Contents/Resources/templates',
static_folder='/path/to/dist/dir/dist/myapp.app/Contents/Resources/static')