正在更新一個AWS Lambda函式,該函式依賴于Flask / zappa,最初是由另一個程式員撰寫。 如果Lambda中運行的腳本沒有匯入/使用Python模塊,我是否可以從requirements.txt中毫無問題地洗掉它們?
AWS 提供的示例檔案似乎只有很少的要求。 我只想確保 Cloudwatch 能夠繼續作業,并且我沒有洗掉 AWS 隱含依賴的東西。
我考慮洗掉的一些包(因為沒有被Python腳本匯入)包括:
durationpypyrsistentpytz<
pycparserpycparsertroposphere<
boto3。
placebo<
即去除pyarrow和scikit-learn后,重新部署的時間從3分鐘縮短到2分鐘。 AWS Lambda也在較短的時間內使用較少的記憶體來執行。
uj5u.com熱心網友回復:
這很難說,因為不同的應用程式的依賴性不同。
據我所知,scikit-learn是一個巨大的庫,不被AWS使用。然而,如果您的應用程式或您的應用程式中的另一個包將其作為一個依賴項,移除它可能會破壞您的應用程式。
類似地,pyarrow也被許多包使用。你的應用程式中的一些包可能在內部使用它。
我不確定,但是boto3也可以被移除,因為AWS默認情況下它總是可用的。但是你可能想保留它,因為你將需要它在本地運行應用程式。
對于所有其他軟體包,我建議您使用pipdeptree創建一個軟體包的依賴樹。 這將成為確定哪些軟體包可以被洗掉的起點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/329841.html
標籤:
上一篇:對CORS預檢的400次回應
