Wenn Sie eine native Bibliothek in einer Python-Abhängigkeitsbibliothek verwenden, Ich habe vor langer Zeit gehört, dass die zu bauende Umgebung (pip) und die Umgebung auf der AWS Lambda-Seite aufeinander abgestimmt sind.
Aber was ist der tatsächliche Effekt und wie ist es schlecht? Ich habe es also überhaupt nicht überprüft Es ist ein Memo, dass ich die Bibliothek überprüft habe, die durch "pip install" erhalten wurde, während ich süchtig danach war.
Es trat auf, wenn ein Modul verwendet wurde, das die Entfernung berechnet, die als "pyproj" bezeichnet wird. (Zuerst wusste ich nicht, was mit diesem Fehler allein falsch war ...)
[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)
Ich verstehe den detaillierten Installationsmechanismus nicht, aber er erfasst automatisch die Umgebung und Es schien die abhängigen nativen Bibliotheken herunterzuladen.
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
Ich habe ein bisschen mehr Verständnis oder ein Gefühl der Überzeugung. Da jedoch das offizielle Docker Image von Amazon Linux verteilt wird, sollte die Build-Umgebung möglicherweise vorhanden sein.
Recommended Posts