我正在尝试在Debian(我的本地计算机和CI服务器)上运行一些Python代码及其单元测试。代码已经在AWS Lambda上运行,并使用在AWS EC2 linux实例上手动构建的ELF(这些是依赖项,例如scipy,numpy等)。
但是,当我尝试在本地计算机上运行单元测试时,加载ELF后出现以下错误。导入时似乎出了问题。我确保我已经删除了我的本地库(scipy,numpy等...)。
image: error messages on running unit tests
_________________ ERROR collecting test/unit_tests/MalfunctioningSensorsLambda/test_malfunctioning_scores.py _________________
test/unit_tests/MalfunctioningSensorsLambda/test_malfunctioning_scores.py:4: in <module>
import malfunctioning
src/MalfunctioningSensorsLambda/malfunctioning.py:29: in <module>
from scipy.stats import norm, mstats #, wasserstein_distance
lib-python/scipy/stats/__init__.py:343: in <module>
from .stats import *
lib-python/scipy/stats/stats.py:169: in <module>
import scipy.special as special
lib-python/scipy/special/__init__.py:640: in <module>
from ._ufuncs import *
__init__.pxd:155: in init scipy.special._ufuncs (scipy/special/_ufuncs.c:39918)
???
E ValueError: numpy.dtype has the wrong size, try recompiling. Expected 88, got 96
我在AWS上部署的经验不多,所以我想知道您对以下问题的看法:这种情况的最佳做法是什么? EC2实例中构建的模块是否可以在Debian上使用?或者,我应该为每个使用我代码的平台构建模块吗?