Почему PyNacl не работает в IBM OpenWhisk?

При импорте pynacl происходит сбой, когда я загружаю ZIP-файл Python в IBM Cloud Functions. Это потому, что у него есть код C, а не чистый python? Как я могу обойти это?


person Russell    schedule 01.02.2018    source источник


Ответы (1)


Когда я также пытался создать действие zip python с помощью virtualenv, я получаю сообщение об ошибке make raise Exception("ERROR: The 'make' utility is missing from PATH") Exception: ERROR: The 'make' utility is missing from PATH

Хорошей новостью является то, что IBM Cloud Functions выпустила новые образы Python 3 на основе Ubuntu/Debian с типом python-jessie:3.

Я попробовал следующее и смог создать действие python с virtualenv, используя образ докера 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

person csantanapr    schedule 01.02.2018