Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

aws - "Unable to import module 'process': /var/task/numpy/core/multiarray.so: invalid ELF header"

Using aws lambda I am receiving the following error when the script is run with the numpy module:

Unable to import module 'process': /var/task/numpy/core/multiarray.so: invalid ELF header

Is this problem related to numpy itself or numpy specifically on aws lambda. What is an invalid ELF header?

Edit:

I believe this is related to native code execution, as stated in this answer "invalid ELF header" when using the nodejs "ref" module on AWS Lambda

like image 343
Michael Avatar asked Jan 19 '16 15:01

Michael


1 Answers

The problem has to do with the multiarray.so file which was complied on my local computer's architecture. Spin up an ec2 instance and create your virtualenv with the necessary dependencies. This will cause it to compile with the correct architecture as used by Aws lambda. Then download your virtualenv from the ec2 instance and use that for lambda.

like image 128
Michael Avatar answered Sep 27 '22 16:09

Michael