私は、この手順を経て仕事を得ることができました:
- 使用フラスコの代わりに、簡単なHTMLサーバー(CGIHTTPRequestHandlerではを)。これは静的なファイルを提供するための巨大な過剰ですが、機能します。フラスコはCGIと同様に情報を受け取ることができるので、最小限のリファクタリングが必要でした。request.args.get
- pyinstallerを使用してコンパイルします。これは最初は機能しませんが、[あなたのapp] .specファイルを生成します。 https://www.quora.com/Can-I-convert-a-Flask-application-into-an-executable-file-that-runs-on-Windows-like-an-exe-file(ここでは間違いなくいくつかのブードゥー教が、それは働く!)私は必要な追加のディレクトリ内
を追加しました(検索インデックス)Aで:specファイルこのページの指示に従って、追加のデータを含めることを細工
.datas呼び出し。
.pyファイルの代わりに変更されたspecファイルを使用してpyinstallerを再実行します。
コードは、ステップ3で追加した(それはQuoraのリンクでの画像があります)
hiddenimports=['email','email.message',
'email.mime.message', 'email.mime.image',
'email.mime.text', 'email.mime.multipart',
'email.mime.audio', 'email.mime.multipart',
],
def extra_datas(mydir):
def rec_glob(p,files):
import os
import glob
for d in glob.glob(p):
if os.path.isfile(d):
files.append(d)
rec_glob("%s/*" % d, files)
files = []
rec_glob("%s/*" % d, files)
extra_datas = []
for f in files:
extra_datas.append((f, f, 'DATA'))
return extra_datas
#include our data directories
a.datas += extra_datas("static")
a.datas += extra_datas("templates")
あなたはこれらの手順のすべてを行いましたhttp://www.py2exe.org/index.cgi/Tutorial – user1767754
最初にpy2exeを試しましたが、3.5と互換性がありません。そこで私はpyinstallerに切り替えました。 py2exeの3.4から3.5にlibパッケージの名前を変更するというトリックも試みましたが、うまくいきませんでした。 –