如何从AWSchalice应用程序生成可执行文件?

2024-05-14 03:48:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个AWS-chalice项目,我想从这个项目生成一个可执行的表单

因此,我没有运行chalice local来启动本地服务器,而是调用可执行文件


Tags: 项目服务器aws可执行文件表单localchalice
1条回答
网友
1楼 · 发布于 2024-05-14 03:48:26

我根据Pyinstaller提出了这个解决方案:

  1. 手动注入环境变量
  2. 手动启动本地服务器
  3. 手动拦截和处理特殊事件(如SQS、Cron等)
  4. Pyinstaller编译代码

app.py末尾调用此代码:

import os
from chalice.cli import CLIFactory
from chalice.local import LocalDevServer
def start_standalone(app):
    stage = os.environ.get("stage", "dev")
    print(f"initializing standalone server: {stage}")
    factory = CLIFactory(project_dir=os.getcwd(), debug=True, environ=os.environ, profile="dev")
    config = factory.create_config_obj(
        chalice_stage_name=stage
    )
    os.environ = {**os.environ, **config.environment_variables}

    host = os.environ.get("host", '127.0.0.1')
    port = os.environ.get("port", 8000)
    s = LocalDevServer(app, config=config, host=host, port=port)
    s.serve_forever()
    #handle_special_events(app) # to handle SQS and Cron; didn't include the code as it is not the main goal of this question

在此阶段,您可以运行python app.py以确保更改有效

然后使用Pyinstaller运行pyinstaller -F add-data="./.chalice/config.json:.chalice" app.py

PS:您可能希望将关于环境变量的部分移到app.py的开头,以便在初始化中使用它

相关问题 更多 >