Skip to main content
 首页 » 编程设计

python之如何在部署 lambda 函数之前删除 ptvsd 调试代码

2024年11月24日26JeffreyZhao

我正在使用 Python 和 AWS-SAM-CLI 开发无服务器应用程序。我正在使用 ptvsd 库调试我的函数。为了附加调试器,以下代码段必须在函数代码中。

ptvsd.enable_attach(address=('0.0.0.0', 5890), redirect_output=True) 
ptvsd.wait_for_attach() 

显然,在将函数部署到阶段或生产环境之前必须删除此代码。

有没有一种方法可以在打包/部署步骤中自动执行此操作,而不必在部署之前从每个函数中手动删除这段代码?

请您参考如下方法:

我会在您的本地环境中设置一个环境变量,比方说,DEV=true(此处的值并不重要),并将该代码包裹在一个 IF 语句中。

if "DEV" in os.environ: 
    ptvsd.enable_attach(address=('0.0.0.0', 5890), redirect_output=True) 
    ptvsd.wait_for_attach() 

代码仍然存在,但除非环境变量存在,否则永远不会执行。