に役立ちます:setup.pyファイルに、次に
def include_files():
path_base = "C:\\Python27\\Lib\\site-packages\\pytz\\zoneinfo\\"
skip_count = len(path_base)
zip_includes = [(path_base, "pytz/zoneinfo/")]
for root, sub_folders, files in os.walk(path_base):
for file_in_root in files:
zip_includes.append(
("{}".format(os.path.join(root, file_in_root)),
"{}".format(os.path.join("pytz/zoneinfo", root[skip_count:], file_in_root))
)
)
return zip_includes
をPython 3.4を以下のようにします。
import pytz
setup(
...
options = {'build_exe':
{'include_files': (pytz.__path__[0],), ...},
},
)
次に、pytz
はすべてのタイムゾーンで解凍されて含まれています
zip-includesオプションを試すことができます。 Docs:http://cx_freeze.readthedocs.org/en/latest/distutils.html –
このオプションは、ビルドした場合にファイルを最後のZIPに追加するためのオプションです。私の場合、私はlibrary.zipについて話していますが、再配布の最終的なZIPはありません。 'エラー:セットアップスクリプトにエラーがあります:コマンド 'build_exe'には、あなたが提案したものを試してみると、そのようなオプション「zip-includes」はありません。通常、_packages_オプションを使用してそこにコードを組み込みますが、_pytz_にはデータファイルだけがあり、_pytz/zoneinfo_を追加しようとするとこのオプションは失敗します。 – mlt
これを 'zip_includes'としてみてください。distutilsはダッシュ/アンダースコアについて面白いかもしれません。私は 'zip-includes'はlibrary.zipについて話していると思う - cx_Freezeは自動的に配布用のすべてを圧縮せず、もちろんあなた自身でそれを行うことができます。 –