0

当我将 python zip 上传到 IBM Cloud Functions 时,导入 pynacl 崩溃。那是因为它有 C 代码而不是纯 python 吗?我怎样才能解决这个问题?

4

1 回答 1

1

当我也尝试使用 virtualenv 创建一个 python zip 操作时,我收到一个错误make raise Exception("ERROR: The 'make' utility is missing from PATH") Exception: ERROR: The 'make' utility is missing from PATH

好消息是 IBM Cloud Functions 发布了基于 Ubuntu/Debian 的新 Python 3 镜像python-jessie:3

我尝试了以下操作,并能够使用 docker 映像创建一个带有 virtualenv 的 python 操作,ibmfunctions/action-python-v3并安装 nacl 包而没有错误。

$ cat __main__.py

import nacl.bindings as b
import nacl.exceptions as exc

def main(args):
    name = args.get("name", "stranger")
    greeting = "Hello " + name + "!"
    print(greeting)
    return {"greeting": greeting}

$ cat requirements.txt
pynacl
$ docker run --rm -v "$PWD:/tmp" ibmfunctions/action-python-v3 bash  -c "cd tmp && virtualenv virtualenv && source virtualenv/bin/activate && pip install -r requirements.txt"
$ zip -r nacl.zip virtualenv __main__.py
$ bx wsk action update python3ibm nacl.zip --kind python-jessie:3

有关 python 运行时的更多详细信息,请查看此处的文档https://console.bluemix.net/docs/openwhisk/openwhisk_reference.html#openwhisk_ref_python_environments

于 2018-02-01T23:46:52.337 回答