我無法在任何地方找到任何有關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')