Windows 用の zip をロールしようとすると、pytz が zoneinfo フォルダーを見逃していることに気付きました。現在、後に使用する回避策がありpython setup.py build
ます。
7z a -xr!*.py* build\exe.win32-2.7\library.zip C:\Python27\Lib\site-packages\pytz
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
次に、setup.py ファイルに:
build_exe_options = {"packages": ["os"],
"excludes": ["tkinter"],
"zip_includes": include_files(),
...
}
それが役立つことを願っています
次の方法でPython 3.4でこの問題を解決しました
import pytz
setup(
...
options = {'build_exe':
{'include_files': (pytz.__path__[0],), ...},
},
)
次にpytz
、すべてのタイムゾーンで解凍されて含まれています