pyinstaller-不压缩数据

时间:2019-03-05 09:31:46

标签: python-3.x pyinstaller

我有这个.spec脚本:

from glob import glob
import os

block_cipher = None

include_files = glob("./plugins/*/*.mxml") + \
                glob("./plugins/*/*.xml") + \
                glob("./plugins/*/*.py") + \
                glob("./plugins/*/data/*") + \
                glob("./plugins/*/keys/*") + \
                glob("./*.xml") + \
                glob("./doc/*") + \
                glob("./zeromq*.zip") + \
                glob("./layouts/*")

a = Analysis(['main_script.py'],
             pathex=['C:\\main_repo\\src'],
             binaries=[],
             datas=[(file, os.path.dirname(file)) for file in include_files] + [("objcopy.exe", '.')],
             hiddenimports=['library'],
             hookspath=[],
             runtime_hooks=[],
             excludes=["tkinter", "multiprocessing", "unittest", "setuptools", "lib2to3", "pydoc_data"],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)

pyz = PYZ(a.pure)

exe = EXE(pyz,
          a.scripts,
          [],
          exclude_binaries=True,
          name='main_script',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          console=True )

coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               name='main_script')

问题在于Pyinstaller将所有需要的文件打包到base_library.zip中,因此更改了脚本,插件和配置XML的查找目录,因此当我打开main_script.exe时,它将打开带有“给定目录不存在的新终端”: C:\ main_repo \ built_by_pyinstaller \ base_library.zip \ plugins”,因为它无法打开打包的zip文件中的文件夹。 是否可以使Pyinstaller停止压缩库以压缩并创建一个文件夹?

谢谢。

PS。我创建了一个名为“ base_library.zip”的文件夹,并将所有文件从压缩的zip文件移到了那里,因此C:\ main_repo \ built_by_pyinstaller \ base_library.zip \ plugins现在是有效路径,但是它看起来很糟糕,并且我正在寻找更好的解决方案

0 个答案:

没有答案