Lors de l'utilisation d'une bibliothèque native dans une bibliothèque de dépendances Python, J'ai entendu il y a longtemps que l'environnement à construire (pip) et l'environnement côté AWS Lambda sont alignés.
Mais quel est l'effet réel et en quoi est-il mauvais? Je ne l'ai pas du tout vérifié, alors
C'est un mémo que j'ai vérifié la bibliothèque obtenue par pip install
alors que j'y étais accro.
Cela s'est produit lors de l'utilisation d'un module qui calcule la distance appelée «pyproj». (Au début, je ne savais pas ce qui n'allait pas avec cette seule erreur ...)
[ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_handler': cannot import name '_datadir' from partially initialized module 'pyproj' (most likely due to a circular import) (/var/task/pyproj/__init__.py)
Je ne comprends pas le mécanisme d'installation détaillé, mais il saisit automatiquement l'environnement et Il semblait télécharger les bibliothèques natives dépendantes.
pyproj
- _crs.cpython-37m-x86_64-linux-gnu.so
- _datadir.cpython-37m-x86_64-linux-gnu.so
- proj.py
pyproj
- _crs.cpython-38m-x86_64-linux-gnu.so
- _datadir.cpython-38m-x86_64-linux-gnu.so
- proj.py
pyproj
- _crs.cp37-win32.pyd
- _datadir.cp37-win32.pyd
- proj.py
J'ai un peu plus de compréhension ou un sentiment de conviction. Cependant, comme l'image Docker officielle d'Amazon Linux est distribuée, il se peut que l'environnement de construction soit là.
Recommended Posts