PyInstaller 3.2,如何“捆绑”参数?

use*_*ser 5 python pyinstaller web.py

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

$ python main.py 8091
Run Code Online (Sandbox Code Playgroud)

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

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

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

use*_*ser 1

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

sys.argv.append('8888')
app.run()
Run Code Online (Sandbox Code Playgroud)

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

a = Analysis(['main.py 8888'],
Run Code Online (Sandbox Code Playgroud)

但这根本不起作用。