【问题标题】:PyInstaller 3.2, how to "bundle" arguments?PyInstaller 3.2,如何“捆绑”参数?
【发布时间】:2016-07-01 12:40:13
【问题描述】:

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

$ python main.py 8091

将在端口 8091(默认为 8080)上运行 Web.py 应用程序。我通过规范文件将应用程序与 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 规范文件中?

【问题讨论】:

    标签: python pyinstaller web.py


    【解决方案1】:

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

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

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

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

    但这根本不起作用。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-07-25
        • 1970-01-01
        • 2018-05-16
        • 1970-01-01
        • 2011-12-02
        相关资源
        最近更新 更多