PyInstaller 3.2,如何"bundle"参数?

PyInstaller 3.2, how to "bundle" arguments?

我正在使用 PyInstaller 3.2 打包 Web.py 应用程序。通常,使用 Web.py 和内置 WSGI server,您可以在命令行上指定端口,例如

$ python main.py 8091

运行 Web.py 应用程序会在端口 8091(默认为 8080)上。我通过规范文件将应用程序与 PyInstaller 捆绑在一起,但我不知道如何用它指定端口号——传入选项似乎只适用于 3 given ones in the docs。我试过了:

exe = EXE(pyz,
          a.scripts,
          [('8091', None, 'OPTION')],
          a.binaries,
          a.zipfiles,
          a.datas,
          name='main',
          debug=False,
          strip=False,
          upx=True,
          console=False )

但这似乎没有任何作用。我在文档中没有看到任何其他内容——是否有另一种方法可以将命令行参数捆绑/指定/包含到 PyInstaller 规范文件?

非常 hacky,但我最后所做的只是在我的 web.py 应用程序的 sys.argv 中附加一个参数...

sys.argv.append('8888')
app.run()

我还认为在我的 spec 文件中我可以这样做:

a = Analysis(['main.py 8888'],

但这根本不起作用。

EXE 中的

options 参数仅适用于 python 解释器 (ref)