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