Si la version de pip dans SAM et la version de pip local ne correspondent pas, cela peut ne pas fonctionner, il est donc nécessaire de corriger la version de pip local.
nom de l'article | version |
---|---|
OS | MacOS High Sierra 10.13.6 |
VSCode | 1.40.2 |
SAM | 0.37.0 |
Python | 3.7.3 |
pip | 19.3.1(19 dans l'article.2.Changer en 3) |
Cela peut ne pas fonctionner lorsque vous souhaitez effectuer un test dans un environnement local à l'aide de AWS Toolkit de VS Code "Exécuter localement". Par exemple, l'erreur suivante.
Local invoke of SAM Application has ended.
Preparing to run app.lambda_handler locally...
Building SAM Application...
An error occurred trying to run SAM Application locally: Error with child process: Building resource 'awsToolkitSamLocalResource'
,Running PythonPipBuilder:ResolveDependencies
,Error: PythonPipBuilder:ResolveDependencies - Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: 'module' object is not callable
Il semble que le problème survenu du côté SAM n'ait pas encore été résolu par AWS Toolkit de VS Code. GitHub : sam build fails for python3.7 functions with pip==19.3 installed Si vous essayez les mêmes paramètres et exécutez la commande suivante à partir du terminal, il n'y a pas de problème même si la version SAM et pip est la même.
$ sam local invoke HelloWorldFunction --event events/event.json
Bien qu'il s'agisse d'une mesure temporaire, si vous modifiez la version de pip comme suit, il sera possible de s'exécuter normalement même à partir de VS Code.
$ pip install pip==19.2.3
Enregistrez "Exécuter localement" à partir de VS Code après avoir modifié la version de pip
Fetching lambci/lambda:python3.7 Docker container image......
Mounting /tmp/aws-toolkit-vscode/vsctkytL1AY/output/awsToolkitSamLocalResource as /var/task:ro,delegated inside runtime container
...(Omission)...
{"statusCode":200,"body":"{\"message\": \"hello worldXXX\"}"}
Recommended Posts