Python:如何在Pyinstaller .spec文件中指定输出文件夹

时间:2016-05-19 10:01:15

标签: python pyinstaller

我正在使用python 3.5和pyinstaller 3.1.1版。我已经指定了一个名为SCADAsync_spec.spec的.spec文件,如下所示:

block_cipher = None

a = Analysis(['SCADAsync.py'],
             pathex=['C:\\repo\\analysis\\trunk\\source\\python\\functions', 'C:\\repo\\analysis\\trunk\\source\\python\\Executables'],
             binaries=None,
             datas=[('figs\\ROMO_icon.ico','figs'),('figs\\OpenFile2.gif','figs'),('figs\\ROMOWind_Logo2015_CMYK.png','figs')],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)

pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name='SCADAsync',
          debug=True,
          strip=False,
          upx=True,
          console=True
       )

使用

执行时效果很好
pyinstaller SCADAsync_spec.spec

现在创建了两个大文件夹(dist和build),我希望将其存储在默认目录以外的其他位置。有谁知道如何在spec文件中设置这些文件夹的位置?我希望保持命令行命令尽可能简单,即.exe应该只通过输入

来构建
pyinstaller SCADAsync_spec.spec

从Pyinstaller手册中,我似乎可以指定名为' DISTPATH'和' workpath'到spec文件(https://pythonhosted.org/PyInstaller/spec-files.html)。但我无法弄清楚如何做到这一点。

非常感谢任何帮助!

尼克

1 个答案:

答案 0 :(得分:4)

Pyinstaller spec / build / dist位置路径可以配置为pyinstaller命令的一部分。请参阅以下示例

pyinstaller --specpath /opt/bk/spec --distpath /opt/bk/dist --workpath /opt/bk/build testscript.py