Cannot load native module

0

【以下的问题经过翻译处理】 我有一个非常小的Python脚本返回错误。

我已经分别尝试了两种打包方式,但都遇到了相同的错误。我已经直接将安装包安装到文件夹中,然后将其压缩。并且我还创建了虚拟环境,安装了包,然后将其压缩。但我仍然得到相同的结果。

有人知道为什么这不起作用吗?

以下是错误代码:


{
  "errorMessage": "Cannot load native module 'Crypto.Hash._SHA256': Trying '_SHA256.cpython-37m-x86_64-linux-gnu.so': /var/task/Crypto/Util/../Hash/_SHA256.cpython-37m-x86_64-linux-gnu.so: cannot open shared object file: No such file or directory, Trying '_SHA256.abi3.so': /var/task/Crypto/Util/../Hash/_SHA256.abi3.so: cannot open shared object file: No such file or directory, Trying '_SHA256.so': /var/task/Crypto/Util/../Hash/_SHA256.so: cannot open shared object file: No such file or directory",
  "errorType": "OSError",
  "stackTrace": [
    "  File \"/var/lang/lib/python3.7/imp.py\", line 234, in load_module\n    return load_source(name, filename, file)\n",
    "  File \"/var/lang/lib/python3.7/imp.py\", line 171, in load_source\n    module = _load(spec)\n",
    "  File \"<frozen importlib._bootstrap>\", line 696, in _load\n",
    "  File \"<frozen importlib._bootstrap>\", line 677, in _load_unlocked\n",
    "  File \"<frozen importlib._bootstrap_external>\", line 728, in exec_module\n",
    "  File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\n",
    "  File \"/var/task/main.py\", line 3, in <module>\n    from coinbase.wallet.client import Client\n",
    "  File \"/var/task/coinbase/wallet/client.py\", line 39, in <module>\n    from Crypto.Hash import SHA256\n",
    "  File \"/var/task/Crypto/Hash/SHA256.py\", line 47, in <module>\n    \"\"\")\n",
    "  File \"/var/task/Crypto/Util/_raw_api.py\", line 300, in load_pycryptodome_raw_lib\n    raise OSError(\"Cannot load native module '%s': %s\" % (name, \", \".join(attempts)))\n"
  ]
}

profile picture
EXPERTE
gefragt vor 5 Monaten27 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 如果你在本地计算机上编译,可能会生成与 Lambda 环境不同格式的库。pycrypto 不提供预建轮子,因此您需要在与 Lambda 运行匹配的环境中进行编译:https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen