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 规范文件中?
非常 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)
但这根本不起作用。