我正在AWS lambda 上使用Pychromeless 存储库并取得成功。
\n\n现在我需要使用 NaCL 依赖项来解密字符串,但我得到了
\n\nUnable to import module \'lambda_function\': /var/task/lib/nacl/_sodium.abi3.so
与补充
\n\ninvalid ELF header\n\xc2\xa0
在 AWS Lambda 上运行该函数时。
\n\n我知道这是一个与 AWS Lambda 环境相关的特定问题,因为我可以在 Mac 上的 docker 中运行该函数。
\n\n这是我的requirements.txt 文件
\n\nboto3==1.6.18\nbotocore==1.9.18\nselenium==2.53.6\nchromedriver-install==1.0.3\nbeautifulsoup4==4.6.1\ncertifi==2018.11.29\nchardet==3.0.4\neditdistance==0.5.3\nfuture==0.17.1\nidna==2.7\npython-telegram-bot==10.1.0\nrequests==2.19.1\nsoupsieve==1.7.3\nurllib3==1.23\nPyNaCl==1.3.0\nRun Code Online (Sandbox Code Playgroud)\n\n这是 dockerfile
\n\nFROM lambci/lambda:python3.6\nMAINTAINER tech@21buttons.com\n\nUSER root\n\nENV APP_DIR /var/task\n\nWORKDIR $APP_DIR\n\nCOPY requirements.txt .\nCOPY bin ./bin\nCOPY lib ./lib\n\nRUN mkdir -p $APP_DIR/lib\nRUN pip3 install -r requirements.txt -t /var/task/lib\nRun Code Online (Sandbox Code Playgroud)\n\n和生成文件:
\n\nclean:\n rm -rf build build.zip\n rm -rf __pycache__\n\nfetch-dependencies:\n mkdir …Run Code Online (Sandbox Code Playgroud) 我正在AWS lambda 上使用Pychromeless 存储库并取得成功。
\n\n但现在我需要使用 pycrypto 依赖项,但我得到了
\n\nconfigure: error: no acceptable C compiler found in $PATH\n\xc2\xa0\n运行时make docker-build\n(放入文件后pycrypto==2.6.1)requirements.txt。
有这个线程,有人提到了同样的问题:\n\xc2\xa0
\n\n“gcc 编译器不在您的 $PATH 中。这意味着您没有安装 gcc,或者它不在您的 $PATH 变量中”。
\n\n所以尝试放置apt-get install build-essential在 Dockerfile 中,但我得到了
/bin/sh: apt-get: command not found
然后,我尝试使用\xc2\xa0yum install gcc
只为得到
\n\nThe command \'/bin/sh -c yum install gcc\' returned a non-zero code: 1
Docker-lambda [信息页面](https://hub.docker.com/r/lambci/lambda/)说:
\n\nThis …Run Code Online (Sandbox Code Playgroud)