[PYTHON] [Petite histoire] Que faire si "Erreur avec le processus enfant: création de resource'awsToolkitSamLocalResource '" ne fonctionne pas lorsque Lambda est exécuté localement par SAM à partir de VS Code

emballer

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.

Environnement d'exécution

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)

problème

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

Cause (probablement)

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

Faire face

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

[Petite histoire] Que faire si "Erreur avec le processus enfant: création de resource'awsToolkitSamLocalResource '" ne fonctionne pas lorsque Lambda est exécuté localement par SAM à partir de VS Code
Que faire si l'installation de pyenv ne se poursuit pas avec une erreur
Que faire si une erreur se produit lorsque vous chargez un projet Python créé avec de la poésie dans VS Code
Que faire si vous ne voyez pas IntelliSense de Python dans VS Code sous Windows
Que faire si vous obtenez l'erreur "Erreur: opencv3: Ne prend pas en charge la construction des wrappers Python 2 et 3" lors de l'installation d'openCV 3
Que faire si une erreur se produit lors de l'importation de numpy avec VScode
Remarques sur ce qu'il faut faire lorsque l'effacement des ombres ne fonctionne pas avec scatter () / scatter3d () de matplotlib
Exemple de ce qu'il faut faire lorsque l'exemple de script ne fonctionne pas (OpenCV-Python)
Une histoire qui parfois ne marche pas si pip est le dernier
Que faire si vous obtenez une erreur lors de l'installation de python avec pyenv
[EC2] Que faire lorsque le sélénium est bloqué et que le traitement ne se poursuit pas
[Python] Erreur de type: l'objet 'WebElement' n'est pas itérable Que faire lorsqu'une erreur se produit
Que faire si Python3 Venv ne fonctionne pas bien sur Raspberry Pi
Que faire si vous obtenez une erreur OpenSSL lors de l'installation de Python 2 avec pyenv
Que faire si vous obtenez une erreur de mémoire lors de la conversion de PySparkDataFrame en PandasDataFrame
Que faire si vous obtenez une erreur d'importation lors de l'importation de matplotlib avec Jupyter
Que faire lorsque Python ne passe pas de la version système dans pyenv
Que faire si sys / cdefs.h n'existe pas
Que faire si pyenv n'est pas activé (zsh)
Que faire si vous obtenez une erreur non définie lorsque vous essayez d'utiliser pip avec pyenv
Procédures à suivre lorsque le japonais n'est pas affiché dans matplotlib
Que faire lorsqu'une erreur se produit avec import _ssl
[Débutant] Que faire lorsque "[Errno 2] Le fichier b'test.csv 'n'existe pas: b'test.csv" s'affiche lors de la lecture du csv des pandas
Que faire si le nom d'utilisateur est modifié et que le chemin de la bibliothèque pyenv ne passe pas